1 2002-05-17 Han-Wen <hanwen@cs.uu.nl>
3 * scm/music-functions.scm (check-start-chords): function to check
4 for chords without \context. Apply automatically from parser.
6 2002-05-16 Han-Wen <hanwen@cs.uu.nl>
8 * lily/bar-line.cc: remove index entries. Texinfo can't handle :
11 * scm/output-lib.scm: fix ez notation stems.
13 * lily/paper-outputter.cc: various fixes to speed up compilation.
15 2002-05-16 Mats Bengtsson <mats.bengtsson@s3.kth.se>
17 * scripts/lilypond-book.py: Don't import pre for Python >= 2.2
19 2002-05-16 Jan Nieuwenhuizen <janneke@gnu.org>
21 * scripts/lilypond-book.py (determine_format): Bugfix: correctly
22 determine latex input.
24 * stepmake/bin/install-sh: Include latest from libtool.
27 * configure: Regenerate.
29 * config.make.in: Remove dead variables. Add OPTIONAL/REQUIRED lists.
30 (USER_CFLAGS): Bugfix, include CPPFLAGS.
32 * configure.in: Use new OPTIONAL/REQUIRED mechanism.
34 * stepmake/aclocal.m4: Add mechanism for checking OPTIONAL or
35 REQUIRED programs and version. Try to continue configuring, list
36 missing programs at the end, but don't generate a GNUmakefile if
37 REQUIRED programs are missing. Cleanups, junk obsolete stuff.
38 Fix Cygwin detection, drop '32' suffix. Hoping this is not too
39 fancy for some older systems.
41 2002-05-16 Han-Wen <hanwen@cs.uu.nl>
43 * lily/score-engraver.cc (typeset_all): sanity check for items
44 that are Y parent to spanner.
46 * lily/piano-pedal-engraver.cc (create_bracket_grobs): fix broken
49 2002-05-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
51 * lily/*.cc: remove as many iostream use as possible.
53 * flower/ : remove text-db, text-stream, data-file.
55 2002-05-15 Han-Wen <hanwen@cs.uu.nl>
57 * scripts/lilypond-book.py: add --no-music option: strip all blocks.
58 (completize_preamble): don't barf if no preamble present.
59 (do_file): allow extensions on --output
61 * scripts/ly2dvi.py (make_preview): make automatic preview of
62 first system. Small cleanups.
64 2002-05-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
66 * scripts/lilypond-book.py (make_pixmap): output png directly.
68 * mf/GNUmakefile (INSTALLATION_OUT_FILES4): create and install
71 * lily/parser.yy (My_lily_parser): comment out code. (Causes
72 problems with recent bison releases).
74 * make/lilypond.redhat.spec.in: add pfa fonts to X.
76 2002-05-07 Heikki Junes <hjunes@cc.hut.fi>
78 * lilypond-font-lock.el: Fixes the order of the note name list.
80 2002-05-06 Jan Nieuwenhuizen <janneke@gnu.org>
82 * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
83 capability, --verbose option, rlimit hack.
85 2002-05-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
87 * lily/piano-pedal-engraver.cc: cleanups.
89 * lily/accidental.cc (after_line_breaking): add break tie
92 * lily/text-engraver.cc (try_music): don't typeset fingerings
94 2002-05-05 Heikki Junes <hjunes@cc.hut.fi>
96 * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
98 2002-05-04 Han-Wen <hanwen@cs.uu.nl>
100 * lily/*.cc: change gh_str02scm() to ly_str02scm().
102 * lily/spacing-spanner.cc (note_spacing): Bound
103 shortest-playing-length by the distance to next note. This should
104 fix chord tremolo spacing.
106 * VERSION: 1.5.55 released
108 * lily/stem.cc (off_callback): invisible stem over whole note is
109 centered on note now.
111 * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
112 stem-tremolo is stem now.
114 * input/mozart-hrn*.ly: many corrections.
116 * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts to
117 support for dynamic scripts.
119 * lily/accidental-placement.cc (position_accidentals): check for
120 collisions as well: should avoid those heads too.
122 * lily/beam.cc (check_concave): allow undefined gap and
123 threshold. Change the meaning of threshold/gap == 0.0.
124 (check_concave): skip Stolba concaveness check if we have a knee
127 2002-05-03 Mats Bengtsson <mats.bengtsson@s3.kth.se>
129 * lily/chord-tremolo-engraver.cc (try_music): Handle chord
130 tremolos of dotted duration.
132 2002-05-03 Han-Wen <hanwen@cs.uu.nl>
134 * mf/feta-klef.mf: more twiddling with G clef. Almost straight
135 downstroke again. Sigh.
137 * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
140 2002-05-02 Han-Wen <hanwen@cs.uu.nl>
142 * lily/slur.cc (add_column): allow slur over rest.
144 2002-04-27 Han-Wen <hanwen@cs.uu.nl>
146 * lily/beam.cc: move scoring constants out of code
148 2002-04-25 Han-Wen <hanwen@cs.uu.nl>
150 * mf/feta-nummer.mf: scalability fixes.
152 * mf/feta-nummer-code.mf: fixes for 5, 8.
154 * mf/feta-klef.mf: G clef fixes.
156 2002-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
158 * scripts/ly2dvi.py: Mats' fix. Try to import pre if available.
160 * scripts/lilypond-book.py: %Newline, rather than glue macros
161 after \end{verbatim}.
163 2002-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
165 * Documentation/user/lilypond-book.itely:
166 * scripts/lilypond-book.py: Add options [no]indent, linewidth and
169 * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
171 * scm/grob-property-description.scm (beam-space): Junk.
173 * lily/beam.cc (space_function): New method.
174 (get_interbeam): Call space-function.
176 * scm/grob-description.scm (Beam): Initialize space-function with
177 Beam::space_function.
179 * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
180 Beam.space-function. Don't quantise grace beams.
182 2002-04-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
184 * VERSION: 1.5.54 released
186 * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
189 * Documentation/index.texi: add PDF links.
191 * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
193 * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
194 compare #'glyph as strings.
196 * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
198 * scripts/ly2dvi.py (setup_environment): fix by Mats.
200 * lily/stem.cc (head_count): Change function name. Change property
201 to #'note-heads i.s.o. #'heads.
202 (position_noteheads): Kern noteheads for invisible stems.
203 (before_line_breaking): Do position_noteheads() for whole note
206 * lily/accidental-placement.cc (position_accidentals): First
207 determine refpoints, only then determine extents.
209 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
211 * lily/accidental-placement.cc (position_accidentals): use all
212 note heads for note head-skyline.
214 * scripts/lilypond-book.py (re_dict): remove all *? regexps.
216 2002-04-22 Jan Nieuwenhuizen <janneke@gnu.org>
218 * Documentation/windows/setup.hint (requires): Add gsview dependency.
220 * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
222 * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
224 * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
226 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
228 * mf/feta-schrift.mf: lighter staccato.
230 2002-04-22 Han-Wen <hanwen@cs.uu.nl>
232 * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
234 2002-04-21 Han-Wen <hanwen@cs.uu.nl>
236 * VERSION: 1.5.53 released
238 * scm/lily.scm (ly-load): use primitive-load for loading.
240 * lily/misc.cc: remove quantise_iv()
242 * lily/*.cc: pass read-only arrays by reference.
244 * lily/grob.cc (common_refpoint_of_array): new function. Try to
245 use common_refpoint_of_{array, list} when possible.
247 * lily/include/accidental-placement.hh: new file.
249 * lily/accidental-placement.cc (alignment_callback): position
250 accidentals in a better way.
252 * lily/skyline.cc: new file. Compute distances for collections of
255 * lily/include/skyline.hh: new file
257 2002-04-20 Han-Wen <hanwen@cs.uu.nl>
259 * lily/accidental.cc (class Accidental_interface): grob for a
262 * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
265 * lily/new-accidental-engraver.cc (acknowledge_grob): Work
266 together with new accidental-interface.
268 * lily/include/*.hh: remove spurious set_interface() decls.
270 * lily/key-signature-interface.cc (brew_molecule): add padding for
271 natural signs. Make natural typesetting like the sharp.
274 * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
275 is now slightly curved, not straight.
278 2002-04-18 Heikki Junes <hjunes@cc.hut.fi>
280 * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
282 * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes
283 more strictly. Use more clever regular expressions. Commented regexps.
285 2002-04-16 Heikki Junes <hjunes@cc.hut.fi>
287 * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
289 2002-04-15 Juergen Reuter <reuter@ipd.uka.de>
291 * scm/grob-description.scm, lily/staff-symbol.cc: added properties
292 to control width of staff symbol in ragged-right mode (by request
295 * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
296 lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
297 lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
298 added support for ligature brackets (needed when transcribing
301 2002-04-15 Heikki Junes <hjunes@cc.hut.fi>
303 * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
304 Fontify notes more strictly.
306 2002-04-15 Han-Wen <hanwen@cs.uu.nl>
308 * mf/feta-din-code.mf: dynamic z sign.
310 2002-04-13 Heikki Junes <hjunes@cc.hut.fi>
312 * lilypond-mode.el: Prevent recoloring strings and comments.
314 * lilypond-font-lock.el: Handle block comments: block comments
315 can have also ordinary comments inside.
317 2002-04-13 Han-Wen <hanwen@cs.uu.nl>
319 * lily/stem.cc (get_default_dir): set direction to CENTER if
320 invisible. Various other fixes to deal with invisible stems and
321 stem-direction == CENTER.
323 * lily/rest-collision.cc (do_shift): take direction from note if
326 * input/regression/tie-grace.ly: new file.
328 * lily/tie-engraver.cc (create_grobs): fix tied graces.
330 * lily/note-spacing.cc (stem_dir_correction): set fixed space for
331 knee correction. Fixes tight spacing for knees.
333 2002-04-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
335 * VERSION: 1.5.52 released
337 * lily/*.cc: add some undocced properties.
338 scm/grob-description.scm: idem.
340 2002-04-12 Heikki Junes <hjunes@cc.hut.fi>
342 * lilypond-font-lock.el: Handle slurs \( and \), numbers,
343 multi-measure rests like "R1 *4" and scheme (typically has '#'
344 in the beginning). Small fixes. Add few reserved words.
346 2002-04-12 Jan Nieuwenhuizen <janneke@gnu.org>
348 * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
351 * Documentation/windows/installing.texi: Suggest gswin32c (console
352 program) for getting the version. Layout fixes.
354 2002-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
356 * Documentation/user/tutorial.itely (Running LilyPond): Separate
357 windows viewing commands, remove silly comment about Yap.
359 2002-04-10 Mats Bengtsson <matsb@s3.kth.se>
361 * Documentation/topdocs/INSTALL.texi: Describe how to learn
362 configure to find kpathsea on for example Slackware 8.0.
364 * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
366 * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
367 by default: avoid "1" over single bar rests.
369 * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
370 and correct the handling of geometry options.
372 2002-04-10 Han-Wen Nienhuys <hanwen@cs.uu.nl>
374 * lily/include/grob-interface.hh (ADD_INTERFACE): make
375 implementation for Class::has_interface automatically. Junk all
376 other implementations.
378 * lily/grob.cc (internal_get_grob_property): also typecheck
379 property reads. Catches even more undocced properties. Bugfixing
380 left for the uninspired masses.
382 * lily/beam.cc: remove end_after_line_breaking().
384 * lily/grob.cc (calculate_dependencies): remove list support for
387 * lily/font-size-engraver.cc: only do font-interface.
389 2002-04-10 Heikki Junes <hjunes@cc.hut.fi>
391 * lilypond-font-lock.el: Handle notes with cautionary accidentals.
394 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
396 * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
397 brackets using arpeggio requests.
399 * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
400 molecule-callback to use for drawing the brackets.
402 * Documentation/user/refman.itely:
403 * input/test/chord-bracket.ly: Chord brackets documented
405 2002-04-10 Han-Wen <hanwen@cs.uu.nl>
407 * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign.
409 * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
411 2002-04-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
413 * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
414 direction tuplets on beams.
416 2002-04-08 Chris Jackson <chris@fluffhouse.org.uk>
418 * lilypond-indent.el: Bugfix of indentation of final point in buffer
420 2002-04-09 Heikki Junes <hjunes@cc.hut.fi>
422 * lilypond-mode.el: new command: LilyPond-un-comment-region.
423 Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el:
424 separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
425 submenu to "LilyPond"-menu.
427 * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
428 an interface to play midi.
430 2002-04-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
432 * input/regression/script-stack-order.ly: new file.
434 2002-04-08 Han-Wen <hanwen@cs.uu.nl>
436 * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
438 * mf/feta-din-code.mf: kerning for dynamics.
440 2002-04-07 Han-Wen <hanwen@cs.uu.nl>
442 * input/regression/dynamics-glyphs.ly: new file
444 * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
446 * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
447 forte f for the 2 number. Some fixes for the other bulbed glyphs.
449 * Documentation/windows/gs-profile.sh:
450 * Documentation/windows/gsview-profile.sh: Remove. Functionality
451 moved to gs/gsview windows packages.
453 2002-04-06 Mats Bengtsson <matsb@s3.kth.se>
455 * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
456 finding out the duration. Fixes chord tremolo bug.
458 * lily/completion-note-heads-engraver.cc (process_music): Set
459 correct duration for all requests of the broken notes.
461 * input/regression/completion-heads.ly: Added example of
462 Completion_heads_engraver.
464 * lilypond-mode.el: Added "2Midi" command
466 2002-04-06 Chris Jackson <chris@fluffhouse.org.uk>
468 * lily/tuplet-bracket.cc, scm/grob-description.scm: New
469 edge-width, edge-height and shorten-pair properties for tuplet
472 * lilypond-indent.el: Support for blinking of matching parentheses
474 * lilypond-font-lock.el: Fix fontification of closing > on its own line
476 * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
477 cleanups of piano pedal brackets.
479 2002-04-05 Han-Wen <hanwen@cs.uu.nl>
481 * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
483 2002-04-04 Han-Wen <hanwen@cs.uu.nl>
485 * mf/feta-new-code.mf: new dynamic f sign.
488 2002-04-03 Han-Wen <hanwen@cs.uu.nl>
490 * mf/feta-new-code.mf: new dynamic p sign.
492 2002-04-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
494 * lily/note-spacing.cc (stem_dir_correction): only do
495 beam-correction if a beam is there.
497 * lily/stem.cc (duration_log): change from flag_i (); better
499 (get_default_stem_end_position): fix dot/flag collision code.
501 2002-04-02 Han-Wen <hanwen@cs.uu.nl>
503 * VERSION: release 1.5.50
505 * lily/spaceable-grob.cc (add_spring): change incorrect spring to
506 unit spring here. Reduces number of warning messages.
508 * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
510 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
512 * scm/generic-property.scm: remove generic-property, property-engraver
514 * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
516 * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
518 * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
520 * scm/*.scm: remove volta, hairpin and tuplet functions.
522 * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
523 note column for notes/stems/dots that already have parents. Fixes
524 nested grace contexts.
526 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
528 * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
529 get too curved slurs.
531 * scm/slur.scm (default-slur-extremity-offset-alist)
532 (default-phrasing-slur-extremity-offset-alist): Move slur
533 attachments further away from note-head, vertically. Also, leave
534 a horizontal gap between slur and stem end.
536 * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
538 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
540 * input/regression/spacing-grace-duration.ly: new file
542 * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
543 for shortest durations.
545 * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
546 extent of the mm rest.
548 * lily/spacing-spanner.cc (get_duration_space): better spacing for
551 * lily/tuplet-bracket.cc (make_bracket): new function
552 (get_x_offset): new function; make tuplet brackets align on stems
553 if stem has same direction.
554 (parallel_beam): be anal about matching bracket to tuplet.
556 * lily/lookup.cc (line): new function Lookup::line().
558 * scm/tex.scm (dashed-line): change -line to -system in names.
560 * lily/box.cc (add_point): new function.
562 * flower/include/interval.hh: new function add_point ().
565 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
567 * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
569 * scm/grob-property-description.scm (number-threshold): Add
572 * lily/multi-measure-rest.cc (brew_molecule): Only put number over
573 rest if #measures > number-threshold. Use padding (well, fake
576 * scm/font.scm (make-style-sheet): New styles: mark-number,
578 (paper20-style-sheet-alist): Add bigger bold fonts.
580 * lily/mark-engraver.cc (process_music): Use style mark-number or
583 * .cvsignore: Ignore all kinds of lilypond input and output.
585 * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
587 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
589 * lily/staff-symbol.cc (brew_molecule): make line thickness
592 * lily/*.cc: replace stafflinethickness by linethickness.
594 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
596 * input/regression/beam-concave.ly: Add to-be-considered-concave
599 * lily/beam.cc (check_concave): Add check for large gap between an
600 inner notehead and the line through outer noteheads.
602 * scm/grob-description.scm (Beam): Add concaveness-gap, default
603 value 2.0 staff-space.
605 * scm/grob-property-description.scm (concaveness-gap): Add
608 * input/mozart-hrn3-allegro.ly: Fix typo.
610 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
612 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
613 lily/note-head-engraver: improved implementation of roundfilledbox
614 (according to Han-Wen's request)
616 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
617 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
618 lily/simple-spacer.cc: ragged-right alignment
620 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
622 * input/regression/spacing-note-flags.ly: new file
624 * input/regression/spacing-rest.ly: new file
626 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
628 * lily/spacing-spanner.cc (note_spacing): make note spacing after
629 all grace notes tight (not only the column directly following a
632 * scm/grob-description.scm (all-grob-descriptions): don't make
633 mm-rests larger than normal.
635 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
636 curved. Remove white space at the right of flags.
638 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
640 * ports/ports.make: Bugfix: ignore CVS directories.
642 * stepmake/.cvsignore: New file.
644 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
646 * lily/note-spacing.cc (stem_dir_correction): don't correct when
647 there is a flag on the stem.
649 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
651 * scm/grob-property-description.scm (measure-length):
652 measure-length grob property.
654 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
655 better spacing for breakable columns when they're juxtaposed: use
656 measure length if applicable
658 * lily/timing-engraver.cc (start_translation_timestep): store
659 measure length in breakable column at start of measure.
661 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
663 * ROADMAP: Add description for ports dir, to check email upon
666 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
668 * VERSION: 1.5.48 released
670 * lily/multi-measure-rest.cc (symbol_molecule): split off from
672 (set_spacing_rods): Use symbol_molecule() to determine minimum
674 (church_rest): split off from brew_molecule()
675 (big_rest): split off from brew_molecule(). Construct using
678 * mf/feta-eindelijk.mf: junk multi measure rest.
680 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
682 * lily/multi-measure-rest.cc (add_column): remove columns property.
684 * lily/dynamic-engraver.cc (process_music): add more verbose warning
686 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
689 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
691 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
692 keywords covered, dropped some non-keywords, include R- and 128-notes
694 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
696 * Code clean-up: Junk multiple implementations of ledger line
697 creation in note_head, custos, and porrectus. This is important
698 since there soon will be some more applications of ledger lines to
699 come (e.g. ambitus engraver).
701 * Make thickness of ledger lines adjustable. This is essential
702 for mensural notation.
704 * Fix some bugs in the current ledger_line implementation, most
705 notably that of the horizontal extent of ledger lines which equals
706 at least the extent of the metafont ledger_line character, and
707 which grows(!) if the desired extent shrinks below this limit.
709 * roundfilledbox: variable blotdiameter
711 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
713 * VERSION: 1.5.47 released
715 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
717 * lily/porrectus.cc: change line-thickness to thickness, change
718 stem-direction to direction.
720 * scm/backend-documentation-lib.scm (check-dangling-properties):
721 Automatically detect doc'ed properties that are not in an interface
723 * scm/grob-property-description.scm: property cleanup. Remove many
724 paper-column props that are non-existent.
726 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
727 the grob has a molecule-callback.
729 * lily/*.cc: remove many set_interface() calls, and their
732 * input/regression/spacing-knee.ly: new file
734 * input/regression/spacing-clef-first-note.ly: new file
736 * lily/staff-spacing.cc (get_spacing_params): different spacing
737 for pref matter to note at start of line, halfway during line.
739 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
740 correction only if stems have same direction (i.e. not for
741 stem-clef combination).
742 (stem_dir_correction): maximal correction for knees.
744 * lily/*.cc: many updates to interface descriptions.
746 * lily/grob.cc (internal_set_grob_property): add interface check
747 for every set_grob_property call
749 * lily/*.cc: document interface stuff in C++
751 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
753 * lily/volta-bracket.cc: naming: change volta spanner to
756 * input/bugs/*.ly: cleanup, remove lots of files.
758 * buildscripts/mf-to-table.py (write_ps_encoding): generate
759 .encoding file. WARNING: upgrade to pktrace 1.0.3
761 * mf/feta-toevallig.mf: change PS name for parentheses.
763 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
765 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
768 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
770 * lily/scope.cc: remove file .
772 * lily/include/scope.hh: remove file. Remove Scope class
776 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
777 score_forbidden_quants): ): take out of SCM, pass parameters so
778 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
780 (calc_stem_y): robustness: take care of last_visible_stem == 0.
783 * lily/lily-guile.cc (ly_unit): return internal unit.
785 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
787 * lily/paper-outputter.cc (output_version): output internal unit
790 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
792 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
794 * scripts/ly2dvi.py: clean up old .*pk font caching code.
796 * scm/ps.scm: Use uppercase postscript font names for the standard
799 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
800 Add all available TeX Type1 fonts, including Feta, to the
801 Ghostscript font path.
803 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
804 version (affects the FontName) in lilypond.map.
806 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
807 documentation file to fetaNNlist.ly to avoid name collisions between
808 lilypond generated .tex file and font .tex macros file.
811 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
813 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
814 made mensural longa and (semi-)brevis leaner
816 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
818 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
819 clean-up: moved bezier shape and slope from porrectus to lookup
821 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
822 and /usr/share/texmf/fonts
824 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
826 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
828 * lily/text-spanner.cc (brew_molecule): add #'thickness
829 (brew_molecule): add corrections for thickness in molecule padding.
831 * lily/line-spanner.cc (line_atom): make function private
833 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
834 discover bounding box. This solves the cropping problem.
836 * lily/bar-check-iterator.cc (process): Only resynchronize bar
837 check when it fails. This fixes the combination of grace notes
840 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
842 * lily/repeated-music.cc (minimum_start): new Scheme callable function
843 (first_start): new Scheme callable. This will fix repeated music
844 starting with grace notes.
846 * lily/music.cc (start_mom): check start-moment-function grob property.
848 * VERSION: 1.5.45 released
850 * input/regression/system-extents.ly: new regression test. Test
853 * lily/system.cc: rename LineOfScore into System
855 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
857 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
858 (ly_get_extent): new Scheme function ly-get-extent
860 * ps/lilyponddefs.ps: use output-scale for line-x
863 * scm/ps.scm (font-load-command):
866 2002-03-20 Rune Zedeler <rune@zedeler.dk>
868 * lily/beaming-info.cc: Stupid typo fixed
870 * lily/accidental-engraver.cc: rewrote accidental-routines to get
871 support for cross-context auto-accidentals.
872 Now the engraver can stay in Staff-context and see other contexts
874 Changed properties: autoAccidentals, autoCautionaries
876 * lily/translator-group.cc (set_children_property):
877 Function added recursively setting the same property (deep_copied)
878 for all children of a Translator_group.
880 * ly/property-init.ly: added commands
881 \pianoAccidentals \voiceAccidentals
882 \modernVoiceAccidentals \modernVoiceCautionaries
884 * ly/engraver-init.ly: Correct initialization of new accidentals.
886 * scm/translator-property-description.scm: Updated
888 * input/regression/accidental-voice.ly: Added
890 * Documentation/regression-test.tely: Added new test
892 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
894 * VERSION: 1.5.44 released
896 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
898 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
900 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
903 * tex/feta*.tex: remove.
905 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
906 all software dealing with it.
908 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
910 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
911 (this fixes pdf output). Drop awk dependency.
913 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
914 dimensions (linewidth) are in mm.
916 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
918 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
920 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
922 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
924 * VERSION: 1.5.43 released
926 * scm/beam.scm (beam-dir-majority-median): if majority is
927 undecided, use median. Removes a forced dir in sarabande.
929 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
931 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
933 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
934 widths, heights and shortens are now customisable properties.
936 * scm/grob-description.scm, scm/grob-property-description.scm: New
937 properties added to PianoPedalBracket, unnecessary
938 Y-offset-callbacks removed from *Pedal, undocumented properties
941 * Documentation/user/refman.itely: Piano pedal updates.
943 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
945 * scm/grob-property-description.scm:
946 * scm/interface-description.scm: Remove old stuff.
948 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
949 0.48 (previously 0.42).
950 (Beam): Remove old stuff.
953 * lily/stem-tremolo.cc:
955 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
956 (previously space-function).
958 * stepmake/bin/add-html-footer.py: Website title fix.
960 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
962 * scripts/ly2dvi.py (environment): use new font searching setup.
964 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
966 * lily/tfm.cc (dimensions): make code dimension independent
968 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
971 * tex/lily-ps-defs.tex: scaling for PS points and MM.
973 * lily/include/dimensions.hh: try MM as internal unit.
975 * scm/*.scm: remove invoke-dim1
977 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
979 * GNUmakefile.in (fontpaths): add fontpaths target,
981 * make/mutopia-targets.make: add PDF rules.
983 * make/mutopia-rules.make: add pdf rule.
985 * buildscripts/mutopia-index.py (list_item): add PDF.
987 * buildscripts/lilypond-profile.sh (TEXMF): typo.
989 * make/lilypond-vars.make: set TEXMF for the new font setup.
991 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
993 * VERSION: 1.5.42 released
995 * mf/feta-schrift.mf: endless twiddling of Tr.
997 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
998 endless twiddling with the bulb shape.
1000 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
1001 little smaller if there is an accidental.
1003 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1005 * buildscripts/lilypond-profile.sh:
1007 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
1008 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
1009 Implement new font installation strategy
1011 * Documentation/misc/fontinstallation (TEXMF): Documentation of
1012 the new font installation strategy.
1014 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
1017 * input/test/staff-size.ly: Simplified using StaffContainer
1019 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
1022 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
1024 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
1026 * lily/beam.cc (score_stem_lengths): new quanting stuff
1027 (score_forbidden_quants): Second and third beam quant stuff.
1029 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
1031 * lily/beam.cc (least_squares): Remember least-squares-dy for
1033 (quantise_interval): Don't quant to dy steeper that
1034 least-squares-dy. Return empty interval if no sane quants found.
1035 (quantise_position): Try quantise_interval until we have
1036 acceptable solution.
1038 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1040 * scm/interface-description.scm (beam-interface): Update.
1042 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1044 * VERSION: 1.5.41 released
1046 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
1047 optima serifs on top of t, bottom of r.
1049 * mf/feta-bolletjes.mf: make ledger line rounder.
1051 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
1053 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
1056 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
1058 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
1059 well as text pedal indications and a combination of both. All
1060 pedal indications are horizontally aligned on a line spanner.
1062 * lily/text-spanner.cc: Edge-width property added to use in
1063 bracketed piano pedals. Function setup_sustain_pedal added to set
1064 the dimensions of the brackets.
1066 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
1067 some of the *Pedal properties tweaked.
1069 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
1070 edge-width (TextSpanner) properties.
1072 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
1074 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
1075 fontified identifiers list.
1077 * input/test/pedal.ly: New pedal features added.
1079 * Documentation/user/refman.itely: New pedal features documented.
1082 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1084 * lily/include/new-beam.hh: Previously new-beam.hh
1085 * lily/beam.cc: Previously new-beam.cc
1086 (least_squares): Bugfix: don't barf on beams with less than two
1087 visible stems (tremolos).
1090 * scm/grob-description.scm (Beam): Junk old beam stuff.
1093 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1097 * mf/feta-eindelijk.mf: new 8th rest.
1099 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
1100 stick out of staffline
1102 * scripts/lilypond-book.py: fixes for texi regular expressions.
1104 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
1106 * lily/include/new-beam.hh:
1107 * lily/new-beam.cc: New file.
1109 * flower/include/interval.hh:
1110 * flower/include/interval.tcc (delta): New method.
1111 (swap): Now public (previously private).
1113 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
1114 1 staff-line-thickness. Sadly, this makes dy quanting problems
1115 (dy quants allowed should depend on actual left y) more visible.
1117 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
1119 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
1121 * scm/grob-property-description.scm (concaveness-threshold): Add
1122 typecheck and description.
1124 * scm/grob-description.scm (Beam): Remove obsolete properties, add
1125 concaveness-threshold (previously concaveness).
1127 * lily/beam.cc (check_concave): Remove choices and debugging
1128 stuff: use best concaveness calculation.
1129 (quantise_dy): Remove choice. Try to never make a slope steeper
1130 by quantising, but certainly never quantise a slope away.
1131 (check_stem_length_f): Remove choice. In case of lengthening
1132 alowed, always lengthen to ideal length.
1134 * Documentation/index.texi: Fix FAQ url.
1136 * Documentation/topdocs/INSTALL.texi: Add information about fink,
1137 compile fix and 1.4 specific fix that doesn't hurt 1.5.
1139 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
1141 * VERSION: 1.5.39 released
1143 * lily/simple-spacer.cc (add_rod): rods take precedence over
1144 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
1146 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
1148 * lily/note-spacing.cc (get_spacing): only insert space for
1149 accidentals if necessary.
1151 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
1153 * lily/spacing-spanner.cc (musical_column_spacing): new
1154 function. Have correct spacing from note to end-of-line as well.
1156 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
1158 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
1160 * darwin.patch: New file.
1162 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
1163 code. Shorten stems by fraction of stems to be shortened.
1165 * lily/stem.cc (get_default_stem_end_position): Shorten only half
1166 of shorten value for boundary cases.
1168 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
1169 (Beam): Set beamed-stem-shorten to (1.0 0.5).
1171 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
1173 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
1175 * scm/grob-description.scm (Beam): Add concaveness. Replace
1176 Beam::cancel_suspect_slope with Beam::check_concave.
1178 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
1179 set slope to horizontal if concaveness > Beam.concaveness. This
1180 handles cases that kludgy cancel_suspect_slope was meant to catch
1182 (cancel_suspect_slope): Remove.
1184 2002-03-12 Rune Zedeler <rune@zedeler.dk>
1186 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
1187 stemLeftBeamCount and stemRightBeamCount to equal 0.
1190 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
1192 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
1193 fixed spacing for pref matter, if the next column is musical, and
1196 * lily/note-spacing.cc (stem_dir_correction): Use correct
1197 discretionary for stem-bar spacing.
1199 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
1201 * VERSION: 1.5.38 released
1203 * lily/grob.cc (warning): Use cause tracking to give more
1204 meaningful errors from the backend.
1206 * lily/property-iterator.cc (check_grob): Warn if setting grob
1207 property in unknown grob.
1209 * mf/feta-toevallig.mf: brushed stems for natural sign.
1211 * lily/molecule.cc (align_to): don't translate empty molecule.
1212 (this triggers a very subtle bug in time-signature.)
1214 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
1216 * lily/spring.cc: remove file.
1218 * input/regression/spacing-stem-bar.ly: new file
1220 * lily/score.cc (run_translator): resurrect point-and-click
1222 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
1225 * lily/spacing-spanner.cc (find_shortest): Shortest note for
1226 spacing is now globally determined, using the most common shortest
1227 note. Notes that are shorter are spaced geometrically, and with
1228 expand hints. This makes spacing more even, and measures that have
1229 very short notes won't be that stretched out.
1231 * mf/feta-klef.mf: F-clef fixes, documentation on the
1232 shape. (WARNING: font changed.)
1234 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
1236 * lily/simple-spacer.cc (add_columns): support for infinitely
1239 * lily/staff-spacing.cc (get_spacing_params): space after
1240 prefatory matter is fixed.
1242 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
1244 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
1245 barline following an upstem.
1247 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
1248 function from next_notes_correction().
1249 (bar_y_positions): idem.
1251 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1253 * input/regression/break.ly (texidoc): bugfix: escape \ in
1256 * lily/staff-spacing.cc (next_notes_correction): Correct the
1257 spacing of a note following a barline.
1260 2002-03-04 Glen Prideaux
1262 * mf/feta-solfa.mf: Shaped note heads
1264 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
1266 * VERSION: 1.5.37 released
1268 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
1269 left-align molecule.
1271 * lily/break-align-interface.cc (do_alignment): completely
1272 rewritten. Now it does not use Align_interface anymore, but a
1273 separate routine. Like StaffSpacing, it reads space-alist from the
1274 breakable grobs. This allows you to set spacing using
1276 \property Staff.Clef \override #'space-alist = '(....stuff....)
1278 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
1279 to Bar_line. Move files around as well.
1281 * lily/time-signature.cc (time_signature): left align time signatures.
1283 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
1284 Corrections of the glyph shape C. Comments added.
1286 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1288 * lily/spacing-spanner.cc: move from third-try.cc; rename
1289 Third_spacing_spanner to Spacing_spanner.
1291 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
1292 spacing stuff. Much cleaner now, and we prepare for neat spacing
1293 tricks around bar lines and such.
1295 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
1296 variables with themselves. (Ouch.)
1298 * lily/span-bar.cc (brew_molecule): don't try to span bars that
1301 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1305 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
1308 * lily/music.cc (ly_get_mus_property): typechecking
1309 (ly_set_mus_property): idem
1310 (ly_make_music): idem
1311 (ly_music_name): idem
1313 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
1315 * lily/note-spacing.cc (stem_dir_correction): correction for
1316 same stem notes as well.
1318 * lily/pitch.cc (pitch_transpose): stricter typechecking
1320 * mf/parmesan*mf: magnification fixes.
1322 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
1324 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1326 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
1327 documenting the font. (Doesn't work for parmesan at the moment)
1329 * Documentation/user/appendices.itely (The Feta font): Add list of
1330 Feta font symbols with names.
1332 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
1335 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
1337 * lily/translator-group.cc (ly_set_trans_property): typechecking
1338 (ly_get_trans_property): typechecking.
1340 * lily/font-metric.cc (ly_text_dimension): typechecking
1341 (ly_find_glyph_by_name): idem.
1343 * scm/bass-figure.scm (brew-complete-figure): support for
1346 * lily/grob.cc (ly_get_paper_var): new function
1348 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1350 * VERSION (PATCH_LEVEL): 1.5.35 released.
1352 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
1353 (bracket): New function.
1355 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
1356 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
1358 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
1361 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
1364 * lily/grob.cc (ly_get_grob_property): be anal about types.
1365 (ly_set_grob_property): idem
1367 * lily/figured-bass-engraver.cc (process_music): move molecule
1368 building completely to Scheme
1370 * lily/include/musical-request.hh (class Bass_figure_req): Add
1373 * lily/parser.yy (bass_figure): add support for space figure.
1375 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
1377 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
1379 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
1380 (ly_align_to_x): new function ly-align-to!
1382 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
1383 function ly-get-font
1385 * mf/feta-nummer.mf: include normal-space dimension.
1387 * lily/collision.cc (check_meshing_chords): don't merge collisions
1390 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
1393 2002-02-28 Mats Bengtsson <matsb@s3.kth.se>
1395 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
1397 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
1399 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
1402 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
1405 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
1406 scm/grob-description.scm: added mensural fermata symbol
1408 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1410 * VERSION: 1.5.34 released.
1412 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
1414 * lily/staff-symbol-referencer.cc (callback): assume that
1415 staff-position is unset in general.
1417 * input/regression/rest-pitch.ly: new file.
1419 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
1422 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1424 * lily/scm-option.cc (set_lily_option): add internal-type-checks
1425 as Scheme option. Run regression test by default with
1426 internal-type-checking.
1428 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
1430 * lily/lily-guile.cc (type_check_assignment): changed functions.
1432 * scm/*description*.scm: be anal about typechecks. Some changes
1433 for internal variable names.
1435 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1437 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
1439 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
1441 * VERSION: 1.5.33 released.
1443 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
1444 flare_path everywhere (c-clef, numbers).
1446 * lily/bar-number-engraver.cc (process_music): also print bar
1447 number if measure starts with grace note.
1449 * input/regression/grace-bar-number.ly: new test.
1451 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
1453 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
1456 * scm/music-functions.scm (voicify-music): split chords into
1457 different voices automatically.
1459 * lily/music.cc (ly_music_list_p): new function
1461 * lily/music-sequence.cc (do_relative_octave): robustification
1463 * scm/music-functions.scm: many utility functions
1465 * lily/music.cc (ly_set_mus_property): add type checks to the
1466 Scheme property assignment.
1468 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
1471 * mf/lilypond.map: .map file from Mats' page.
1473 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
1475 * Some more parmesan related fixes;
1477 * Custos: varying shape (in particular, stem length), depending on the
1478 vertical position of the custos (on staffline / between stafflines);
1480 * Custos: added grob property "neutral-direction" (same semantics as
1481 with stem); introduced new grob property "neutral-position";
1483 * Time-signature: print a warning when resorting to default layout.
1485 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1487 * lily/translator-group.cc (add_fresh_simple_translator): remove
1488 function; initialize() is called through
1489 Translator_group::initialize().
1491 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
1492 for the neighbors of a loose column.
1494 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
1495 position loose columns so that they don't collide.
1497 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1499 * VERSION: 1.5.32 released.
1501 * scm/font.scm: remove font-name symbol.
1503 * mf/GNUmakefile: use pktrace for making PFAs
1505 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
1507 * lily/rest-collision.cc (do_shift): read direction field from
1508 rest-column in case of note-rest collision. This should fix some
1509 problems with rest collisions.
1511 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1513 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
1516 * lily/note-head.cc (brew_ez_molecule): Remove note-character
1517 property. Read pitch directly from #'cause.
1519 * mf/feta-puntje.mf: bugfix
1521 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
1523 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
1525 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
1527 * Documentation/windows/compiling.texi: Update.
1529 * Documentation/index.texi: Add link to orphaned compiling for
1532 * Documentation/footer.html.in: Comment fix.
1534 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
1536 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
1538 * VERSION: 1.5.31 released
1540 * lily/new-spacing-spanner.cc: remove file.
1542 * lily/third-try.cc (do_measure): only take spacings into account
1543 if they pertain to the column pair under consideration. This fixes
1544 spacing bug when mixing eighths triplets and normal eighths.
1546 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
1547 lines don't take up space anymore. Document why in note-head.cc
1550 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
1552 * lily/font-interface.cc (get_font): reinstate
1553 #'font-magnification. See input/regression/font-magnification.ly
1554 (get_font): Change the definition of #'font-name grob property.
1556 * lily/grob.cc (get_uncached_molecule): output origin for grobs
1557 that have a #'cause field.
1559 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1561 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
1563 * mf/GNUmakefile: remove metapost stuff
1565 * stepmake/aclocal.m4: remove metapost detection stuff.
1567 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
1569 * mf/GNUmakefile (FET_FILES):
1570 (FONT_FILES): Include parmesan.
1572 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
1575 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
1577 * Documentation/user/refman.itely (Paper size): Quote braces.
1579 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1581 * stepmake/aclocal.m4: fixed bison version check to be more
1584 * lily/stem.cc (position_noteheads): fix for cluster chords.
1586 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
1588 * python 2.2 support.
1590 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1592 * VERSION: 1.5.30 released
1594 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1596 * Documentation/user/refman.itely (Dynamics): add a note about
1599 * scm/grob-description.scm: add a 'translator-type? object
1600 property, so that \property Foo.Bar =\turnOff doesn't cause
1603 * lily/translator-group.cc (add_fresh_group_translator): make
1604 new add-translator functions to make distinction between fresh and
1605 used group-translators. Fixes problem with scripts on auto-changing voice
1607 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1608 add to Score_performer. Fixes bar checks in MIDI
1610 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1611 heads. Fixes many quirks with ties.
1613 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1614 in the grob property #'cause, instead of using Grob_info.
1616 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1617 staff context, fixing dot alignment on collisions.
1619 * lily/beam-engraver.cc (try_music): remove can't find beam start
1620 warning, so that skipTypesetting won't complain.
1622 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1624 * Documentation/user/refman.itely (Paper size): Documentation fix,
1627 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1629 * scm/grob-description.scm: \breathe: Use feta font comma by default
1631 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1633 * input/template/piano-dynamics.ly (pedal): Simplified
1635 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1637 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1639 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1641 * lilypond-mode.el (LilyPond-command-query): ignore case.
1643 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1645 * VERSION: 1.5.29 released
1647 * all files: change 2001 to 2002 in headers globally
1649 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1650 cheese") font. WARNING: fonts changed.
1652 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1654 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1656 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1658 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1660 * mf/*.mf: Fixed a few typos in various .mf files
1662 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1664 * mf/: added macro soft_penstroke
1666 softened some glyphs
1667 redrawn triangular noteheads
1669 added classical quarter rest
1671 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1673 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1674 lines and staff_space>=2
1676 * lily/rest.cc: Use default rests when current style glyphs not
1678 \property Staff.Rest \override #'style = #'classical
1680 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1682 * input/bugs/first-tie.ly: New file.
1684 * input/bugs/spacing-clash.ly: New file.
1686 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1690 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1692 * lilypond-indent.el: New file providing indentation for
1693 parenthesised blocks of lilypond code in Emacs
1695 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1696 indentation and handle block comments properly. Distinguish
1697 accents from close-brackets in fontification.
1699 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1701 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1703 * Documentation/windows/installing.texi:
1704 * Documentation/windows/compiling.texi: Include from 1.4.10.
1706 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1708 * input/bugs/first-midi-tie.ly: New file.
1710 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1712 * VERSION: 1.5.28 released
1714 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1715 illicit beams on [c4 c4] etc.
1717 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1718 file. Make separate iterator for Bar_checks. Bar_check now happen
1719 outside engravers, meaning that you can use them with
1720 skipTypesetting. Associated changes in other files.
1722 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1725 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1727 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1729 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1731 * lily/stem.cc (set_spacing_hints): removed function
1733 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1734 correction for spacing; now take vertical extents of the stem into
1737 * lily/third-try.cc: More hacking to get spacing working.
1739 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1740 sits at staff level and creates note spacing objects. Scrap it
1741 again, and document why.
1743 * lily/include/group-interface.hh: rename functions.
1745 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1747 * stepmake/stepmake/c++-rules.make:
1748 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1750 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1752 * make/lilypond-vars.make:
1753 * scripts/ly2dvi.py (setup_environment):
1754 * scripts/lilypond-book.py (setup_environment): Also set tex
1757 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1759 * VERSION: 1.5.27 released.
1761 * Documentation/user/refman.itely (Bar numbers): added bar number
1764 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1767 2001-12-22 Mats Bengtsson <matsb@s3.kth.se>
1769 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1770 spread the last few lines all over the last page of a score.
1772 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1774 * lily/third-try.cc: 3rd try at revising spacing
1775 engine. Not yet finished.
1777 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1780 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1781 collecting past note heads.
1783 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1786 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1787 class. Keep a queue of grobs that are still playing in busyGrobs.
1789 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1790 function. Use busyGrobs to detect playing notes.
1792 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1794 * Documentation/topdocs/INSTALL.texi: Added note about broken
1795 python-2.1. Updated note for Debian's broken (well, broken for
1796 our use anyway) tex configuration.
1798 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1800 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1801 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1803 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1804 (But left margin of png's still misses a few pixels. Arg.)
1806 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1808 * lilypond-mode.el (LilyPond-command-next-midi): Make
1809 possible to kill midi-process (using "C-c C-m").
1811 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1813 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1814 Convert strings with dimensions to numbers.
1816 * lily/volta-engraver.cc: only make a bracket for the top staff,
1817 as found in stavesFound.
1819 * lily/bar-number-engraver.cc: remove staff administration.
1821 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1822 administration. This breaks support for invisible-staff.
1824 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1825 symbols into stavesFound.
1827 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1828 grobs, and put them into columns.
1830 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1831 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1833 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1835 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1836 midi section in the Emacs-mode, so it is possible to play certain
1837 score in a multiscore lilypond-file.
1839 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1840 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1841 (FIXME: not accessible from guile)
1843 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1844 better support for Kurt Stone's suggestions.
1845 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1847 Changed property: localKeySignature.
1848 Added properties: extraNatural, autoAccidentals,
1851 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1853 * ly/property-init.ly: added commands
1854 \defaultAccidentals \modernAccidentals \modernCautionaries
1855 \noResetKey \forgetAccidentals
1857 * ly/engraver-init.ly: Correct initialization of new accidentals.
1859 * scm/translator-property-description.scm: The new properties
1862 * input/: Some examples added, some changed.
1864 * Documentation/regression-test.tely: Added quick test of new
1867 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1869 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1872 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1874 * lily/beam.cc (before_line_breaking): Make beams without stems
1875 or with only one stem disappear.
1877 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1879 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1880 files to have standardised HTML bibliography output. Update build
1881 docs to reflect this.
1883 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1884 active_count_, so that we don't have to look for active springs
1887 * scm/interface-description.scm,scm/grob-property-description.scm:
1890 * lily/simple-spacer.cc (solve): Handle forced line breaks
1891 here. Fixes problems when combining linebreaks with non-fitting
1894 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1896 * 1.4.9.jcn3 forward ports.
1898 * Really included .cvsignore.
1900 * Included Han-Wen's uu1 windows fixes.
1902 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1904 * Added Cygwin setup.hint
1906 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1907 tetex/texmf, python installations.
1909 * Updated cygwin installer.
1911 * ly2dvi: Don't accept filenames with spaces (+ fix).
1913 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1915 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1917 * lily/translator-def.cc: Remove manual symbol caching.
1919 * lily/script-column.cc (before_line_breaking): robustness check:
1920 don't crash if no direction set.
1922 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1924 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1928 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1930 * lily/note-head.cc (head_extent): added to compute width without
1931 ledger lines. By default, ledger lines take up width now.
1933 * input/regression/fingering.ly: demonstrate auto fingering.
1934 Horizontal placement is still buggy.
1936 * lily/fingering-engraver.cc (class Fingering_engraver):
1937 added. Provides support for horizontal fingering scripts
1939 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1941 * lily/side-position-interface.cc (add_staff_support): add staff
1942 only for Y-axis side positions.
1944 * lily/parser.yy (request_chord): Fix mem leak.
1946 * lily/musical-request.cc (transpose): moved to Music::transpose()
1948 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1949 can store grobs as grob-creation cause as well.
1951 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1952 handle when adding. Use precomputed symbols throughout lily.
1954 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1955 track of spacing issues.
1957 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1958 to keep track of staff spacing
1960 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1962 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1963 code clean from conditionals and have a concentrated sets of
1964 compatibility fixes for old guile versions.
1966 * Fixes for guile 1.4, including embedded ps.
1968 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1970 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1971 well for markup texts.
1973 * lily/musical-request.cc (length_mom): kludge for null pointer.
1975 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1977 * scm/lily.scm (sign): bugfix
1979 * CHANGES: Change log instated.
1981 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.