1 2002-05-15 Han-Wen <hanwen@cs.uu.nl>
3 * scripts/lilypond-book.py: add --no-music option: strip all blocks.
4 (completize_preamble): don't barf if no preamble present.
5 (do_file): allow extensions on --output
7 * scripts/ly2dvi.py (make_preview): make automatic preview of
8 first system. Small cleanups.
10 2002-05-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
12 * lily/parser.yy (My_lily_parser): uncomment code. (Causes
13 problems with recent bison releases).
15 * make/lilypond.redhat.spec.in: add pfa fonts to X.
17 2002-05-07 Heikki Junes <hjunes@cc.hut.fi>
19 * lilypond-font-lock.el: Fixes the order of the note name list.
21 2002-05-06 Jan Nieuwenhuizen <janneke@gnu.org>
23 * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
24 capability, --verbose option, rlimit hack.
26 2002-05-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
28 * lily/piano-pedal-engraver.cc: cleanups.
30 * lily/accidental.cc (after_line_breaking): add break tie
33 * lily/text-engraver.cc (try_music): don't typeset fingerings
35 2002-05-05 Heikki Junes <hjunes@cc.hut.fi>
37 * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
39 2002-05-04 Han-Wen <hanwen@cs.uu.nl>
41 * lily/*.cc: change gh_str02scm() to ly_str02scm().
43 * lily/spacing-spanner.cc (note_spacing): Bound
44 shortest-playing-length by the distance to next note. This should
45 fix chord tremolo spacing.
47 * VERSION: 1.5.55 released
49 * lily/stem.cc (off_callback): invisible stem over whole note is
52 * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
53 stem-tremolo is stem now.
55 * input/mozart-hrn*.ly: many corrections.
57 * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts to
58 support for dynamic scripts.
60 * lily/accidental-placement.cc (position_accidentals): check for
61 collisions as well: should avoid those heads too.
63 * lily/beam.cc (check_concave): allow undefined gap and
64 threshold. Change the meaning of threshold/gap == 0.0.
65 (check_concave): skip Stolba concaveness check if we have a knee
68 2002-05-03 Mats Bengtsson <mats.bengtsson@s3.kth.se>
70 * lily/chord-tremolo-engraver.cc (try_music): Handle chord
71 tremolos of dotted duration.
73 2002-05-03 Han-Wen <hanwen@cs.uu.nl>
75 * mf/feta-klef.mf: more twiddling with G clef. Almost straight
76 downstroke again. Sigh.
78 * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
81 2002-05-02 Han-Wen <hanwen@cs.uu.nl>
83 * lily/slur.cc (add_column): allow slur over rest.
85 2002-04-27 Han-Wen <hanwen@cs.uu.nl>
87 * lily/beam.cc: move scoring constants out of code
89 2002-04-25 Han-Wen <hanwen@cs.uu.nl>
91 * mf/feta-nummer.mf: scalability fixes.
93 * mf/feta-nummer-code.mf: fixes for 5, 8.
95 * mf/feta-klef.mf: G clef fixes.
97 2002-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
99 * scripts/ly2dvi.py: Mats' fix. Try to import pre if available.
101 * scripts/lilypond-book.py: %Newline, rather than glue macros
102 after \end{verbatim}.
104 2002-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
106 * Documentation/user/lilypond-book.itely:
107 * scripts/lilypond-book.py: Add options [no]indent, linewidth and
110 * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
112 * scm/grob-property-description.scm (beam-space): Junk.
114 * lily/beam.cc (space_function): New method.
115 (get_interbeam): Call space-function.
117 * scm/grob-description.scm (Beam): Initialize space-function with
118 Beam::space_function.
120 * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
121 Beam.space-function. Don't quantise grace beams.
123 2002-04-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
125 * VERSION: 1.5.54 released
127 * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
130 * Documentation/index.texi: add PDF links.
132 * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
134 * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
135 compare #'glyph as strings.
137 * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
139 * scripts/ly2dvi.py (setup_environment): fix by Mats.
141 * lily/stem.cc (head_count): Change function name. Change property
142 to #'note-heads i.s.o. #'heads.
143 (position_noteheads): Kern noteheads for invisible stems.
144 (before_line_breaking): Do position_noteheads() for whole note
147 * lily/accidental-placement.cc (position_accidentals): First
148 determine refpoints, only then determine extents.
150 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
152 * lily/accidental-placement.cc (position_accidentals): use all
153 note heads for note head-skyline.
155 * scripts/lilypond-book.py (re_dict): remove all *? regexps.
157 2002-04-22 Jan Nieuwenhuizen <janneke@gnu.org>
159 * Documentation/windows/setup.hint (requires): Add gsview dependency.
161 * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
163 * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
165 * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
167 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
169 * mf/feta-schrift.mf: lighter staccato.
171 2002-04-22 Han-Wen <hanwen@cs.uu.nl>
173 * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
175 2002-04-21 Han-Wen <hanwen@cs.uu.nl>
177 * VERSION: 1.5.53 released
179 * scm/lily.scm (ly-load): use primitive-load for loading.
181 * lily/misc.cc: remove quantise_iv()
183 * lily/*.cc: pass read-only arrays by reference.
185 * lily/grob.cc (common_refpoint_of_array): new function. Try to
186 use common_refpoint_of_{array, list} when possible.
188 * lily/include/accidental-placement.hh: new file.
190 * lily/accidental-placement.cc (alignment_callback): position
191 accidentals in a better way.
193 * lily/skyline.cc: new file. Compute distances for collections of
196 * lily/include/skyline.hh: new file
198 2002-04-20 Han-Wen <hanwen@cs.uu.nl>
200 * lily/accidental.cc (class Accidental_interface): grob for a
203 * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
206 * lily/new-accidental-engraver.cc (acknowledge_grob): Work
207 together with new accidental-interface.
209 * lily/include/*.hh: remove spurious set_interface() decls.
211 * lily/key-signature-interface.cc (brew_molecule): add padding for
212 natural signs. Make natural typesetting like the sharp.
215 * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
216 is now slightly curved, not straight.
219 2002-04-18 Heikki Junes <hjunes@cc.hut.fi>
221 * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
223 * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes
224 more strictly. Use more clever regular expressions. Commented regexps.
226 2002-04-16 Heikki Junes <hjunes@cc.hut.fi>
228 * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
230 2002-04-15 Juergen Reuter <reuter@ipd.uka.de>
232 * scm/grob-description.scm, lily/staff-symbol.cc: added properties
233 to control width of staff symbol in ragged-right mode (by request
236 * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
237 lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
238 lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
239 added support for ligature brackets (needed when transcribing
242 2002-04-15 Heikki Junes <hjunes@cc.hut.fi>
244 * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
245 Fontify notes more strictly.
247 2002-04-15 Han-Wen <hanwen@cs.uu.nl>
249 * mf/feta-din-code.mf: dynamic z sign.
251 2002-04-13 Heikki Junes <hjunes@cc.hut.fi>
253 * lilypond-mode.el: Prevent recoloring strings and comments.
255 * lilypond-font-lock.el: Handle block comments: block comments
256 can have also ordinary comments inside.
258 2002-04-13 Han-Wen <hanwen@cs.uu.nl>
260 * lily/stem.cc (get_default_dir): set direction to CENTER if
261 invisible. Various other fixes to deal with invisible stems and
262 stem-direction == CENTER.
264 * lily/rest-collision.cc (do_shift): take direction from note if
267 * input/regression/tie-grace.ly: new file.
269 * lily/tie-engraver.cc (create_grobs): fix tied graces.
271 * lily/note-spacing.cc (stem_dir_correction): set fixed space for
272 knee correction. Fixes tight spacing for knees.
274 2002-04-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
276 * VERSION: 1.5.52 released
278 * lily/*.cc: add some undocced properties.
279 scm/grob-description.scm: idem.
281 2002-04-12 Heikki Junes <hjunes@cc.hut.fi>
283 * lilypond-font-lock.el: Handle slurs \( and \), numbers,
284 multi-measure rests like "R1 *4" and scheme (typically has '#'
285 in the beginning). Small fixes. Add few reserved words.
287 2002-04-12 Jan Nieuwenhuizen <janneke@gnu.org>
289 * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
292 * Documentation/windows/installing.texi: Suggest gswin32c (console
293 program) for getting the version. Layout fixes.
295 2002-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
297 * Documentation/user/tutorial.itely (Running LilyPond): Separate
298 windows viewing commands, remove silly comment about Yap.
300 2002-04-10 Mats Bengtsson <matsb@s3.kth.se>
302 * Documentation/topdocs/INSTALL.texi: Describe how to learn
303 configure to find kpathsea on for example Slackware 8.0.
305 * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
307 * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
308 by default: avoid "1" over single bar rests.
310 * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
311 and correct the handling of geometry options.
313 2002-04-10 Han-Wen Nienhuys <hanwen@cs.uu.nl>
315 * lily/include/grob-interface.hh (ADD_INTERFACE): make
316 implementation for Class::has_interface automatically. Junk all
317 other implementations.
319 * lily/grob.cc (internal_get_grob_property): also typecheck
320 property reads. Catches even more undocced properties. Bugfixing
321 left for the uninspired masses.
323 * lily/beam.cc: remove end_after_line_breaking().
325 * lily/grob.cc (calculate_dependencies): remove list support for
328 * lily/font-size-engraver.cc: only do font-interface.
330 2002-04-10 Heikki Junes <hjunes@cc.hut.fi>
332 * lilypond-font-lock.el: Handle notes with cautionary accidentals.
335 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
337 * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
338 brackets using arpeggio requests.
340 * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
341 molecule-callback to use for drawing the brackets.
343 * Documentation/user/refman.itely:
344 * input/test/chord-bracket.ly: Chord brackets documented
346 2002-04-10 Han-Wen <hanwen@cs.uu.nl>
348 * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign.
350 * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
352 2002-04-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
354 * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
355 direction tuplets on beams.
357 2002-04-08 Chris Jackson <chris@fluffhouse.org.uk>
359 * lilypond-indent.el: Bugfix of indentation of final point in buffer
361 2002-04-09 Heikki Junes <hjunes@cc.hut.fi>
363 * lilypond-mode.el: new command: LilyPond-un-comment-region.
364 Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el:
365 separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
366 submenu to "LilyPond"-menu.
368 * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
369 an interface to play midi.
371 2002-04-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
373 * input/regression/script-stack-order.ly: new file.
375 2002-04-08 Han-Wen <hanwen@cs.uu.nl>
377 * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
379 * mf/feta-din-code.mf: kerning for dynamics.
381 2002-04-07 Han-Wen <hanwen@cs.uu.nl>
383 * input/regression/dynamics-glyphs.ly: new file
385 * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
387 * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
388 forte f for the 2 number. Some fixes for the other bulbed glyphs.
390 * Documentation/windows/gs-profile.sh:
391 * Documentation/windows/gsview-profile.sh: Remove. Functionality
392 moved to gs/gsview windows packages.
394 2002-04-06 Mats Bengtsson <matsb@s3.kth.se>
396 * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
397 finding out the duration. Fixes chord tremolo bug.
399 * lily/completion-note-heads-engraver.cc (process_music): Set
400 correct duration for all requests of the broken notes.
402 * input/regression/completion-heads.ly: Added example of
403 Completion_heads_engraver.
405 * lilypond-mode.el: Added "2Midi" command
407 2002-04-06 Chris Jackson <chris@fluffhouse.org.uk>
409 * lily/tuplet-bracket.cc, scm/grob-description.scm: New
410 edge-width, edge-height and shorten-pair properties for tuplet
413 * lilypond-indent.el: Support for blinking of matching parentheses
415 * lilypond-font-lock.el: Fix fontification of closing > on its own line
417 * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
418 cleanups of piano pedal brackets.
420 2002-04-05 Han-Wen <hanwen@cs.uu.nl>
422 * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
424 2002-04-04 Han-Wen <hanwen@cs.uu.nl>
426 * mf/feta-new-code.mf: new dynamic f sign.
429 2002-04-03 Han-Wen <hanwen@cs.uu.nl>
431 * mf/feta-new-code.mf: new dynamic p sign.
433 2002-04-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
435 * lily/note-spacing.cc (stem_dir_correction): only do
436 beam-correction if a beam is there.
438 * lily/stem.cc (duration_log): change from flag_i (); better
440 (get_default_stem_end_position): fix dot/flag collision code.
442 2002-04-02 Han-Wen <hanwen@cs.uu.nl>
444 * VERSION: release 1.5.50
446 * lily/spaceable-grob.cc (add_spring): change incorrect spring to
447 unit spring here. Reduces number of warning messages.
449 * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
451 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
453 * scm/generic-property.scm: remove generic-property, property-engraver
455 * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
457 * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
459 * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
461 * scm/*.scm: remove volta, hairpin and tuplet functions.
463 * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
464 note column for notes/stems/dots that already have parents. Fixes
465 nested grace contexts.
467 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
469 * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
470 get too curved slurs.
472 * scm/slur.scm (default-slur-extremity-offset-alist)
473 (default-phrasing-slur-extremity-offset-alist): Move slur
474 attachments further away from note-head, vertically. Also, leave
475 a horizontal gap between slur and stem end.
477 * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
479 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
481 * input/regression/spacing-grace-duration.ly: new file
483 * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
484 for shortest durations.
486 * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
487 extent of the mm rest.
489 * lily/spacing-spanner.cc (get_duration_space): better spacing for
492 * lily/tuplet-bracket.cc (make_bracket): new function
493 (get_x_offset): new function; make tuplet brackets align on stems
494 if stem has same direction.
495 (parallel_beam): be anal about matching bracket to tuplet.
497 * lily/lookup.cc (line): new function Lookup::line().
499 * scm/tex.scm (dashed-line): change -line to -system in names.
501 * lily/box.cc (add_point): new function.
503 * flower/include/interval.hh: new function add_point ().
506 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
508 * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
510 * scm/grob-property-description.scm (number-threshold): Add
513 * lily/multi-measure-rest.cc (brew_molecule): Only put number over
514 rest if #measures > number-threshold. Use padding (well, fake
517 * scm/font.scm (make-style-sheet): New styles: mark-number,
519 (paper20-style-sheet-alist): Add bigger bold fonts.
521 * lily/mark-engraver.cc (process_music): Use style mark-number or
524 * .cvsignore: Ignore all kinds of lilypond input and output.
526 * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
528 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
530 * lily/staff-symbol.cc (brew_molecule): make line thickness
533 * lily/*.cc: replace stafflinethickness by linethickness.
535 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
537 * input/regression/beam-concave.ly: Add to-be-considered-concave
540 * lily/beam.cc (check_concave): Add check for large gap between an
541 inner notehead and the line through outer noteheads.
543 * scm/grob-description.scm (Beam): Add concaveness-gap, default
544 value 2.0 staff-space.
546 * scm/grob-property-description.scm (concaveness-gap): Add
549 * input/mozart-hrn3-allegro.ly: Fix typo.
551 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
553 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
554 lily/note-head-engraver: improved implementation of roundfilledbox
555 (according to Han-Wen's request)
557 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
558 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
559 lily/simple-spacer.cc: ragged-right alignment
561 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
563 * input/regression/spacing-note-flags.ly: new file
565 * input/regression/spacing-rest.ly: new file
567 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
569 * lily/spacing-spanner.cc (note_spacing): make note spacing after
570 all grace notes tight (not only the column directly following a
573 * scm/grob-description.scm (all-grob-descriptions): don't make
574 mm-rests larger than normal.
576 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
577 curved. Remove white space at the right of flags.
579 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
581 * ports/ports.make: Bugfix: ignore CVS directories.
583 * stepmake/.cvsignore: New file.
585 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
587 * lily/note-spacing.cc (stem_dir_correction): don't correct when
588 there is a flag on the stem.
590 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
592 * scm/grob-property-description.scm (measure-length):
593 measure-length grob property.
595 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
596 better spacing for breakable columns when they're juxtaposed: use
597 measure length if applicable
599 * lily/timing-engraver.cc (start_translation_timestep): store
600 measure length in breakable column at start of measure.
602 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
604 * ROADMAP: Add description for ports dir, to check email upon
607 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
609 * VERSION: 1.5.48 released
611 * lily/multi-measure-rest.cc (symbol_molecule): split off from
613 (set_spacing_rods): Use symbol_molecule() to determine minimum
615 (church_rest): split off from brew_molecule()
616 (big_rest): split off from brew_molecule(). Construct using
619 * mf/feta-eindelijk.mf: junk multi measure rest.
621 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
623 * lily/multi-measure-rest.cc (add_column): remove columns property.
625 * lily/dynamic-engraver.cc (process_music): add more verbose warning
627 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
630 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
632 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
633 keywords covered, dropped some non-keywords, include R- and 128-notes
635 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
637 * Code clean-up: Junk multiple implementations of ledger line
638 creation in note_head, custos, and porrectus. This is important
639 since there soon will be some more applications of ledger lines to
640 come (e.g. ambitus engraver).
642 * Make thickness of ledger lines adjustable. This is essential
643 for mensural notation.
645 * Fix some bugs in the current ledger_line implementation, most
646 notably that of the horizontal extent of ledger lines which equals
647 at least the extent of the metafont ledger_line character, and
648 which grows(!) if the desired extent shrinks below this limit.
650 * roundfilledbox: variable blotdiameter
652 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
654 * VERSION: 1.5.47 released
656 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
658 * lily/porrectus.cc: change line-thickness to thickness, change
659 stem-direction to direction.
661 * scm/backend-documentation-lib.scm (check-dangling-properties):
662 Automatically detect doc'ed properties that are not in an interface
664 * scm/grob-property-description.scm: property cleanup. Remove many
665 paper-column props that are non-existent.
667 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
668 the grob has a molecule-callback.
670 * lily/*.cc: remove many set_interface() calls, and their
673 * input/regression/spacing-knee.ly: new file
675 * input/regression/spacing-clef-first-note.ly: new file
677 * lily/staff-spacing.cc (get_spacing_params): different spacing
678 for pref matter to note at start of line, halfway during line.
680 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
681 correction only if stems have same direction (i.e. not for
682 stem-clef combination).
683 (stem_dir_correction): maximal correction for knees.
685 * lily/*.cc: many updates to interface descriptions.
687 * lily/grob.cc (internal_set_grob_property): add interface check
688 for every set_grob_property call
690 * lily/*.cc: document interface stuff in C++
692 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
694 * lily/volta-bracket.cc: naming: change volta spanner to
697 * input/bugs/*.ly: cleanup, remove lots of files.
699 * buildscripts/mf-to-table.py (write_ps_encoding): generate
700 .encoding file. WARNING: upgrade to pktrace 1.0.3
702 * mf/feta-toevallig.mf: change PS name for parentheses.
704 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
706 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
709 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
711 * lily/scope.cc: remove file .
713 * lily/include/scope.hh: remove file. Remove Scope class
717 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
718 score_forbidden_quants): ): take out of SCM, pass parameters so
719 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
721 (calc_stem_y): robustness: take care of last_visible_stem == 0.
724 * lily/lily-guile.cc (ly_unit): return internal unit.
726 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
728 * lily/paper-outputter.cc (output_version): output internal unit
731 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
733 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
735 * scripts/ly2dvi.py: clean up old .*pk font caching code.
737 * scm/ps.scm: Use uppercase postscript font names for the standard
740 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
741 Add all available TeX Type1 fonts, including Feta, to the
742 Ghostscript font path.
744 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
745 version (affects the FontName) in lilypond.map.
747 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
748 documentation file to fetaNNlist.ly to avoid name collisions between
749 lilypond generated .tex file and font .tex macros file.
752 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
754 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
755 made mensural longa and (semi-)brevis leaner
757 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
759 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
760 clean-up: moved bezier shape and slope from porrectus to lookup
762 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
763 and /usr/share/texmf/fonts
765 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
767 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
769 * lily/text-spanner.cc (brew_molecule): add #'thickness
770 (brew_molecule): add corrections for thickness in molecule padding.
772 * lily/line-spanner.cc (line_atom): make function private
774 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
775 discover bounding box. This solves the cropping problem.
777 * lily/bar-check-iterator.cc (process): Only resynchronize bar
778 check when it fails. This fixes the combination of grace notes
781 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
783 * lily/repeated-music.cc (minimum_start): new Scheme callable function
784 (first_start): new Scheme callable. This will fix repeated music
785 starting with grace notes.
787 * lily/music.cc (start_mom): check start-moment-function grob property.
789 * VERSION: 1.5.45 released
791 * input/regression/system-extents.ly: new regression test. Test
794 * lily/system.cc: rename LineOfScore into System
796 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
798 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
799 (ly_get_extent): new Scheme function ly-get-extent
801 * ps/lilyponddefs.ps: use output-scale for line-x
804 * scm/ps.scm (font-load-command):
807 2002-03-20 Rune Zedeler <rune@zedeler.dk>
809 * lily/beaming-info.cc: Stupid typo fixed
811 * lily/accidental-engraver.cc: rewrote accidental-routines to get
812 support for cross-context auto-accidentals.
813 Now the engraver can stay in Staff-context and see other contexts
815 Changed properties: autoAccidentals, autoCautionaries
817 * lily/translator-group.cc (set_children_property):
818 Function added recursively setting the same property (deep_copied)
819 for all children of a Translator_group.
821 * ly/property-init.ly: added commands
822 \pianoAccidentals \voiceAccidentals
823 \modernVoiceAccidentals \modernVoiceCautionaries
825 * ly/engraver-init.ly: Correct initialization of new accidentals.
827 * scm/translator-property-description.scm: Updated
829 * input/regression/accidental-voice.ly: Added
831 * Documentation/regression-test.tely: Added new test
833 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
835 * VERSION: 1.5.44 released
837 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
839 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
841 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
844 * tex/feta*.tex: remove.
846 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
847 all software dealing with it.
849 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
851 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
852 (this fixes pdf output). Drop awk dependency.
854 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
855 dimensions (linewidth) are in mm.
857 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
859 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
861 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
863 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
865 * VERSION: 1.5.43 released
867 * scm/beam.scm (beam-dir-majority-median): if majority is
868 undecided, use median. Removes a forced dir in sarabande.
870 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
872 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
874 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
875 widths, heights and shortens are now customisable properties.
877 * scm/grob-description.scm, scm/grob-property-description.scm: New
878 properties added to PianoPedalBracket, unnecessary
879 Y-offset-callbacks removed from *Pedal, undocumented properties
882 * Documentation/user/refman.itely: Piano pedal updates.
884 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
886 * scm/grob-property-description.scm:
887 * scm/interface-description.scm: Remove old stuff.
889 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
890 0.48 (previously 0.42).
891 (Beam): Remove old stuff.
894 * lily/stem-tremolo.cc:
896 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
897 (previously space-function).
899 * stepmake/bin/add-html-footer.py: Website title fix.
901 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
903 * scripts/ly2dvi.py (environment): use new font searching setup.
905 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
907 * lily/tfm.cc (dimensions): make code dimension independent
909 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
912 * tex/lily-ps-defs.tex: scaling for PS points and MM.
914 * lily/include/dimensions.hh: try MM as internal unit.
916 * scm/*.scm: remove invoke-dim1
918 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
920 * GNUmakefile.in (fontpaths): add fontpaths target,
922 * make/mutopia-targets.make: add PDF rules.
924 * make/mutopia-rules.make: add pdf rule.
926 * buildscripts/mutopia-index.py (list_item): add PDF.
928 * buildscripts/lilypond-profile.sh (TEXMF): typo.
930 * make/lilypond-vars.make: set TEXMF for the new font setup.
932 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
934 * VERSION: 1.5.42 released
936 * mf/feta-schrift.mf: endless twiddling of Tr.
938 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
939 endless twiddling with the bulb shape.
941 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
942 little smaller if there is an accidental.
944 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
946 * buildscripts/lilypond-profile.sh:
948 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
949 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
950 Implement new font installation strategy
952 * Documentation/misc/fontinstallation (TEXMF): Documentation of
953 the new font installation strategy.
955 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
958 * input/test/staff-size.ly: Simplified using StaffContainer
960 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
963 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
965 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
967 * lily/beam.cc (score_stem_lengths): new quanting stuff
968 (score_forbidden_quants): Second and third beam quant stuff.
970 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
972 * lily/beam.cc (least_squares): Remember least-squares-dy for
974 (quantise_interval): Don't quant to dy steeper that
975 least-squares-dy. Return empty interval if no sane quants found.
976 (quantise_position): Try quantise_interval until we have
979 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
981 * scm/interface-description.scm (beam-interface): Update.
983 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
985 * VERSION: 1.5.41 released
987 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
988 optima serifs on top of t, bottom of r.
990 * mf/feta-bolletjes.mf: make ledger line rounder.
992 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
994 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
997 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
999 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
1000 well as text pedal indications and a combination of both. All
1001 pedal indications are horizontally aligned on a line spanner.
1003 * lily/text-spanner.cc: Edge-width property added to use in
1004 bracketed piano pedals. Function setup_sustain_pedal added to set
1005 the dimensions of the brackets.
1007 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
1008 some of the *Pedal properties tweaked.
1010 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
1011 edge-width (TextSpanner) properties.
1013 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
1015 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
1016 fontified identifiers list.
1018 * input/test/pedal.ly: New pedal features added.
1020 * Documentation/user/refman.itely: New pedal features documented.
1023 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1025 * lily/include/new-beam.hh: Previously new-beam.hh
1026 * lily/beam.cc: Previously new-beam.cc
1027 (least_squares): Bugfix: don't barf on beams with less than two
1028 visible stems (tremolos).
1031 * scm/grob-description.scm (Beam): Junk old beam stuff.
1034 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1038 * mf/feta-eindelijk.mf: new 8th rest.
1040 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
1041 stick out of staffline
1043 * scripts/lilypond-book.py: fixes for texi regular expressions.
1045 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
1047 * lily/include/new-beam.hh:
1048 * lily/new-beam.cc: New file.
1050 * flower/include/interval.hh:
1051 * flower/include/interval.tcc (delta): New method.
1052 (swap): Now public (previously private).
1054 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
1055 1 staff-line-thickness. Sadly, this makes dy quanting problems
1056 (dy quants allowed should depend on actual left y) more visible.
1058 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
1060 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
1062 * scm/grob-property-description.scm (concaveness-threshold): Add
1063 typecheck and description.
1065 * scm/grob-description.scm (Beam): Remove obsolete properties, add
1066 concaveness-threshold (previously concaveness).
1068 * lily/beam.cc (check_concave): Remove choices and debugging
1069 stuff: use best concaveness calculation.
1070 (quantise_dy): Remove choice. Try to never make a slope steeper
1071 by quantising, but certainly never quantise a slope away.
1072 (check_stem_length_f): Remove choice. In case of lengthening
1073 alowed, always lengthen to ideal length.
1075 * Documentation/index.texi: Fix FAQ url.
1077 * Documentation/topdocs/INSTALL.texi: Add information about fink,
1078 compile fix and 1.4 specific fix that doesn't hurt 1.5.
1080 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
1082 * VERSION: 1.5.39 released
1084 * lily/simple-spacer.cc (add_rod): rods take precedence over
1085 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
1087 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
1089 * lily/note-spacing.cc (get_spacing): only insert space for
1090 accidentals if necessary.
1092 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
1094 * lily/spacing-spanner.cc (musical_column_spacing): new
1095 function. Have correct spacing from note to end-of-line as well.
1097 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
1099 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
1101 * darwin.patch: New file.
1103 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
1104 code. Shorten stems by fraction of stems to be shortened.
1106 * lily/stem.cc (get_default_stem_end_position): Shorten only half
1107 of shorten value for boundary cases.
1109 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
1110 (Beam): Set beamed-stem-shorten to (1.0 0.5).
1112 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
1114 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
1116 * scm/grob-description.scm (Beam): Add concaveness. Replace
1117 Beam::cancel_suspect_slope with Beam::check_concave.
1119 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
1120 set slope to horizontal if concaveness > Beam.concaveness. This
1121 handles cases that kludgy cancel_suspect_slope was meant to catch
1123 (cancel_suspect_slope): Remove.
1125 2002-03-12 Rune Zedeler <rune@zedeler.dk>
1127 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
1128 stemLeftBeamCount and stemRightBeamCount to equal 0.
1131 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
1133 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
1134 fixed spacing for pref matter, if the next column is musical, and
1137 * lily/note-spacing.cc (stem_dir_correction): Use correct
1138 discretionary for stem-bar spacing.
1140 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
1142 * VERSION: 1.5.38 released
1144 * lily/grob.cc (warning): Use cause tracking to give more
1145 meaningful errors from the backend.
1147 * lily/property-iterator.cc (check_grob): Warn if setting grob
1148 property in unknown grob.
1150 * mf/feta-toevallig.mf: brushed stems for natural sign.
1152 * lily/molecule.cc (align_to): don't translate empty molecule.
1153 (this triggers a very subtle bug in time-signature.)
1155 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
1157 * lily/spring.cc: remove file.
1159 * input/regression/spacing-stem-bar.ly: new file
1161 * lily/score.cc (run_translator): resurrect point-and-click
1163 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
1166 * lily/spacing-spanner.cc (find_shortest): Shortest note for
1167 spacing is now globally determined, using the most common shortest
1168 note. Notes that are shorter are spaced geometrically, and with
1169 expand hints. This makes spacing more even, and measures that have
1170 very short notes won't be that stretched out.
1172 * mf/feta-klef.mf: F-clef fixes, documentation on the
1173 shape. (WARNING: font changed.)
1175 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
1177 * lily/simple-spacer.cc (add_columns): support for infinitely
1180 * lily/staff-spacing.cc (get_spacing_params): space after
1181 prefatory matter is fixed.
1183 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
1185 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
1186 barline following an upstem.
1188 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
1189 function from next_notes_correction().
1190 (bar_y_positions): idem.
1192 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1194 * input/regression/break.ly (texidoc): bugfix: escape \ in
1197 * lily/staff-spacing.cc (next_notes_correction): Correct the
1198 spacing of a note following a barline.
1201 2002-03-04 Glen Prideaux
1203 * mf/feta-solfa.mf: Shaped note heads
1205 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
1207 * VERSION: 1.5.37 released
1209 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
1210 left-align molecule.
1212 * lily/break-align-interface.cc (do_alignment): completely
1213 rewritten. Now it does not use Align_interface anymore, but a
1214 separate routine. Like StaffSpacing, it reads space-alist from the
1215 breakable grobs. This allows you to set spacing using
1217 \property Staff.Clef \override #'space-alist = '(....stuff....)
1219 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
1220 to Bar_line. Move files around as well.
1222 * lily/time-signature.cc (time_signature): left align time signatures.
1224 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
1225 Corrections of the glyph shape C. Comments added.
1227 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1229 * lily/spacing-spanner.cc: move from third-try.cc; rename
1230 Third_spacing_spanner to Spacing_spanner.
1232 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
1233 spacing stuff. Much cleaner now, and we prepare for neat spacing
1234 tricks around bar lines and such.
1236 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
1237 variables with themselves. (Ouch.)
1239 * lily/span-bar.cc (brew_molecule): don't try to span bars that
1242 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1246 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
1249 * lily/music.cc (ly_get_mus_property): typechecking
1250 (ly_set_mus_property): idem
1251 (ly_make_music): idem
1252 (ly_music_name): idem
1254 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
1256 * lily/note-spacing.cc (stem_dir_correction): correction for
1257 same stem notes as well.
1259 * lily/pitch.cc (pitch_transpose): stricter typechecking
1261 * mf/parmesan*mf: magnification fixes.
1263 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
1265 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1267 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
1268 documenting the font. (Doesn't work for parmesan at the moment)
1270 * Documentation/user/appendices.itely (The Feta font): Add list of
1271 Feta font symbols with names.
1273 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
1276 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
1278 * lily/translator-group.cc (ly_set_trans_property): typechecking
1279 (ly_get_trans_property): typechecking.
1281 * lily/font-metric.cc (ly_text_dimension): typechecking
1282 (ly_find_glyph_by_name): idem.
1284 * scm/bass-figure.scm (brew-complete-figure): support for
1287 * lily/grob.cc (ly_get_paper_var): new function
1289 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1291 * VERSION (PATCH_LEVEL): 1.5.35 released.
1293 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
1294 (bracket): New function.
1296 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
1297 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
1299 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
1302 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
1305 * lily/grob.cc (ly_get_grob_property): be anal about types.
1306 (ly_set_grob_property): idem
1308 * lily/figured-bass-engraver.cc (process_music): move molecule
1309 building completely to Scheme
1311 * lily/include/musical-request.hh (class Bass_figure_req): Add
1314 * lily/parser.yy (bass_figure): add support for space figure.
1316 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
1318 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
1320 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
1321 (ly_align_to_x): new function ly-align-to!
1323 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
1324 function ly-get-font
1326 * mf/feta-nummer.mf: include normal-space dimension.
1328 * lily/collision.cc (check_meshing_chords): don't merge collisions
1331 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
1334 2002-02-28 Mats Bengtsson <matsb@s3.kth.se>
1336 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
1338 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
1340 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
1343 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
1346 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
1347 scm/grob-description.scm: added mensural fermata symbol
1349 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1351 * VERSION: 1.5.34 released.
1353 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
1355 * lily/staff-symbol-referencer.cc (callback): assume that
1356 staff-position is unset in general.
1358 * input/regression/rest-pitch.ly: new file.
1360 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
1363 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1365 * lily/scm-option.cc (set_lily_option): add internal-type-checks
1366 as Scheme option. Run regression test by default with
1367 internal-type-checking.
1369 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
1371 * lily/lily-guile.cc (type_check_assignment): changed functions.
1373 * scm/*description*.scm: be anal about typechecks. Some changes
1374 for internal variable names.
1376 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1378 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
1380 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
1382 * VERSION: 1.5.33 released.
1384 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
1385 flare_path everywhere (c-clef, numbers).
1387 * lily/bar-number-engraver.cc (process_music): also print bar
1388 number if measure starts with grace note.
1390 * input/regression/grace-bar-number.ly: new test.
1392 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
1394 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
1397 * scm/music-functions.scm (voicify-music): split chords into
1398 different voices automatically.
1400 * lily/music.cc (ly_music_list_p): new function
1402 * lily/music-sequence.cc (do_relative_octave): robustification
1404 * scm/music-functions.scm: many utility functions
1406 * lily/music.cc (ly_set_mus_property): add type checks to the
1407 Scheme property assignment.
1409 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
1412 * mf/lilypond.map: .map file from Mats' page.
1414 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
1416 * Some more parmesan related fixes;
1418 * Custos: varying shape (in particular, stem length), depending on the
1419 vertical position of the custos (on staffline / between stafflines);
1421 * Custos: added grob property "neutral-direction" (same semantics as
1422 with stem); introduced new grob property "neutral-position";
1424 * Time-signature: print a warning when resorting to default layout.
1426 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1428 * lily/translator-group.cc (add_fresh_simple_translator): remove
1429 function; initialize() is called through
1430 Translator_group::initialize().
1432 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
1433 for the neighbors of a loose column.
1435 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
1436 position loose columns so that they don't collide.
1438 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1440 * VERSION: 1.5.32 released.
1442 * scm/font.scm: remove font-name symbol.
1444 * mf/GNUmakefile: use pktrace for making PFAs
1446 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
1448 * lily/rest-collision.cc (do_shift): read direction field from
1449 rest-column in case of note-rest collision. This should fix some
1450 problems with rest collisions.
1452 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1454 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
1457 * lily/note-head.cc (brew_ez_molecule): Remove note-character
1458 property. Read pitch directly from #'cause.
1460 * mf/feta-puntje.mf: bugfix
1462 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
1464 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
1466 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
1468 * Documentation/windows/compiling.texi: Update.
1470 * Documentation/index.texi: Add link to orphaned compiling for
1473 * Documentation/footer.html.in: Comment fix.
1475 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
1477 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
1479 * VERSION: 1.5.31 released
1481 * lily/new-spacing-spanner.cc: remove file.
1483 * lily/third-try.cc (do_measure): only take spacings into account
1484 if they pertain to the column pair under consideration. This fixes
1485 spacing bug when mixing eighths triplets and normal eighths.
1487 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
1488 lines don't take up space anymore. Document why in note-head.cc
1491 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
1493 * lily/font-interface.cc (get_font): reinstate
1494 #'font-magnification. See input/regression/font-magnification.ly
1495 (get_font): Change the definition of #'font-name grob property.
1497 * lily/grob.cc (get_uncached_molecule): output origin for grobs
1498 that have a #'cause field.
1500 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1502 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
1504 * mf/GNUmakefile: remove metapost stuff
1506 * stepmake/aclocal.m4: remove metapost detection stuff.
1508 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
1510 * mf/GNUmakefile (FET_FILES):
1511 (FONT_FILES): Include parmesan.
1513 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
1516 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
1518 * Documentation/user/refman.itely (Paper size): Quote braces.
1520 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1522 * stepmake/aclocal.m4: fixed bison version check to be more
1525 * lily/stem.cc (position_noteheads): fix for cluster chords.
1527 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
1529 * python 2.2 support.
1531 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1533 * VERSION: 1.5.30 released
1535 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1537 * Documentation/user/refman.itely (Dynamics): add a note about
1540 * scm/grob-description.scm: add a 'translator-type? object
1541 property, so that \property Foo.Bar =\turnOff doesn't cause
1544 * lily/translator-group.cc (add_fresh_group_translator): make
1545 new add-translator functions to make distinction between fresh and
1546 used group-translators. Fixes problem with scripts on auto-changing voice
1548 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1549 add to Score_performer. Fixes bar checks in MIDI
1551 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1552 heads. Fixes many quirks with ties.
1554 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1555 in the grob property #'cause, instead of using Grob_info.
1557 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1558 staff context, fixing dot alignment on collisions.
1560 * lily/beam-engraver.cc (try_music): remove can't find beam start
1561 warning, so that skipTypesetting won't complain.
1563 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1565 * Documentation/user/refman.itely (Paper size): Documentation fix,
1568 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1570 * scm/grob-description.scm: \breathe: Use feta font comma by default
1572 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1574 * input/template/piano-dynamics.ly (pedal): Simplified
1576 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1578 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1580 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1582 * lilypond-mode.el (LilyPond-command-query): ignore case.
1584 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1586 * VERSION: 1.5.29 released
1588 * all files: change 2001 to 2002 in headers globally
1590 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1591 cheese") font. WARNING: fonts changed.
1593 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1595 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1597 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1599 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1601 * mf/*.mf: Fixed a few typos in various .mf files
1603 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1605 * mf/: added macro soft_penstroke
1607 softened some glyphs
1608 redrawn triangular noteheads
1610 added classical quarter rest
1612 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1614 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1615 lines and staff_space>=2
1617 * lily/rest.cc: Use default rests when current style glyphs not
1619 \property Staff.Rest \override #'style = #'classical
1621 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1623 * input/bugs/first-tie.ly: New file.
1625 * input/bugs/spacing-clash.ly: New file.
1627 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1631 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1633 * lilypond-indent.el: New file providing indentation for
1634 parenthesised blocks of lilypond code in Emacs
1636 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1637 indentation and handle block comments properly. Distinguish
1638 accents from close-brackets in fontification.
1640 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1642 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1644 * Documentation/windows/installing.texi:
1645 * Documentation/windows/compiling.texi: Include from 1.4.10.
1647 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1649 * input/bugs/first-midi-tie.ly: New file.
1651 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1653 * VERSION: 1.5.28 released
1655 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1656 illicit beams on [c4 c4] etc.
1658 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1659 file. Make separate iterator for Bar_checks. Bar_check now happen
1660 outside engravers, meaning that you can use them with
1661 skipTypesetting. Associated changes in other files.
1663 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1666 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1668 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1670 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1672 * lily/stem.cc (set_spacing_hints): removed function
1674 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1675 correction for spacing; now take vertical extents of the stem into
1678 * lily/third-try.cc: More hacking to get spacing working.
1680 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1681 sits at staff level and creates note spacing objects. Scrap it
1682 again, and document why.
1684 * lily/include/group-interface.hh: rename functions.
1686 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1688 * stepmake/stepmake/c++-rules.make:
1689 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1691 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1693 * make/lilypond-vars.make:
1694 * scripts/ly2dvi.py (setup_environment):
1695 * scripts/lilypond-book.py (setup_environment): Also set tex
1698 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1700 * VERSION: 1.5.27 released.
1702 * Documentation/user/refman.itely (Bar numbers): added bar number
1705 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1708 2001-12-22 Mats Bengtsson <matsb@s3.kth.se>
1710 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1711 spread the last few lines all over the last page of a score.
1713 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1715 * lily/third-try.cc: 3rd try at revising spacing
1716 engine. Not yet finished.
1718 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1721 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1722 collecting past note heads.
1724 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1727 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1728 class. Keep a queue of grobs that are still playing in busyGrobs.
1730 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1731 function. Use busyGrobs to detect playing notes.
1733 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1735 * Documentation/topdocs/INSTALL.texi: Added note about broken
1736 python-2.1. Updated note for Debian's broken (well, broken for
1737 our use anyway) tex configuration.
1739 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1741 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1742 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1744 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1745 (But left margin of png's still misses a few pixels. Arg.)
1747 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1749 * lilypond-mode.el (LilyPond-command-next-midi): Make
1750 possible to kill midi-process (using "C-c C-m").
1752 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1754 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1755 Convert strings with dimensions to numbers.
1757 * lily/volta-engraver.cc: only make a bracket for the top staff,
1758 as found in stavesFound.
1760 * lily/bar-number-engraver.cc: remove staff administration.
1762 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1763 administration. This breaks support for invisible-staff.
1765 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1766 symbols into stavesFound.
1768 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1769 grobs, and put them into columns.
1771 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1772 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1774 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1776 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1777 midi section in the Emacs-mode, so it is possible to play certain
1778 score in a multiscore lilypond-file.
1780 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1781 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1782 (FIXME: not accessible from guile)
1784 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1785 better support for Kurt Stone's suggestions.
1786 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1788 Changed property: localKeySignature.
1789 Added properties: extraNatural, autoAccidentals,
1792 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1794 * ly/property-init.ly: added commands
1795 \defaultAccidentals \modernAccidentals \modernCautionaries
1796 \noResetKey \forgetAccidentals
1798 * ly/engraver-init.ly: Correct initialization of new accidentals.
1800 * scm/translator-property-description.scm: The new properties
1803 * input/: Some examples added, some changed.
1805 * Documentation/regression-test.tely: Added quick test of new
1808 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1810 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1813 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1815 * lily/beam.cc (before_line_breaking): Make beams without stems
1816 or with only one stem disappear.
1818 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1820 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1821 files to have standardised HTML bibliography output. Update build
1822 docs to reflect this.
1824 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1825 active_count_, so that we don't have to look for active springs
1828 * scm/interface-description.scm,scm/grob-property-description.scm:
1831 * lily/simple-spacer.cc (solve): Handle forced line breaks
1832 here. Fixes problems when combining linebreaks with non-fitting
1835 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1837 * 1.4.9.jcn3 forward ports.
1839 * Really included .cvsignore.
1841 * Included Han-Wen's uu1 windows fixes.
1843 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1845 * Added Cygwin setup.hint
1847 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1848 tetex/texmf, python installations.
1850 * Updated cygwin installer.
1852 * ly2dvi: Don't accept filenames with spaces (+ fix).
1854 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1856 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1858 * lily/translator-def.cc: Remove manual symbol caching.
1860 * lily/script-column.cc (before_line_breaking): robustness check:
1861 don't crash if no direction set.
1863 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1865 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1869 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1871 * lily/note-head.cc (head_extent): added to compute width without
1872 ledger lines. By default, ledger lines take up width now.
1874 * input/regression/fingering.ly: demonstrate auto fingering.
1875 Horizontal placement is still buggy.
1877 * lily/fingering-engraver.cc (class Fingering_engraver):
1878 added. Provides support for horizontal fingering scripts
1880 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1882 * lily/side-position-interface.cc (add_staff_support): add staff
1883 only for Y-axis side positions.
1885 * lily/parser.yy (request_chord): Fix mem leak.
1887 * lily/musical-request.cc (transpose): moved to Music::transpose()
1889 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1890 can store grobs as grob-creation cause as well.
1892 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1893 handle when adding. Use precomputed symbols throughout lily.
1895 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1896 track of spacing issues.
1898 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1899 to keep track of staff spacing
1901 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1903 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1904 code clean from conditionals and have a concentrated sets of
1905 compatibility fixes for old guile versions.
1907 * Fixes for guile 1.4, including embedded ps.
1909 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1911 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1912 well for markup texts.
1914 * lily/musical-request.cc (length_mom): kludge for null pointer.
1916 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1918 * scm/lily.scm (sign): bugfix
1920 * CHANGES: Change log instated.
1922 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.