1 2002-05-16 Han-Wen <hanwen@cs.uu.nl>
3 * lily/piano-pedal-engraver.cc (create_bracket_grobs): fix broken
6 2002-05-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 * lily/*.cc: remove as many iostream use as possible.
10 * flower/ : remove text-db, text-stream, data-file.
12 2002-05-15 Han-Wen <hanwen@cs.uu.nl>
14 * scripts/lilypond-book.py: add --no-music option: strip all blocks.
15 (completize_preamble): don't barf if no preamble present.
16 (do_file): allow extensions on --output
18 * scripts/ly2dvi.py (make_preview): make automatic preview of
19 first system. Small cleanups.
21 2002-05-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
23 * scripts/lilypond-book.py (make_pixmap): output png directly.
25 * mf/GNUmakefile (INSTALLATION_OUT_FILES4): create and install
28 * lily/parser.yy (My_lily_parser): uncomment code. (Causes
29 problems with recent bison releases).
31 * make/lilypond.redhat.spec.in: add pfa fonts to X.
33 2002-05-07 Heikki Junes <hjunes@cc.hut.fi>
35 * lilypond-font-lock.el: Fixes the order of the note name list.
37 2002-05-06 Jan Nieuwenhuizen <janneke@gnu.org>
39 * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
40 capability, --verbose option, rlimit hack.
42 2002-05-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
44 * lily/piano-pedal-engraver.cc: cleanups.
46 * lily/accidental.cc (after_line_breaking): add break tie
49 * lily/text-engraver.cc (try_music): don't typeset fingerings
51 2002-05-05 Heikki Junes <hjunes@cc.hut.fi>
53 * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
55 2002-05-04 Han-Wen <hanwen@cs.uu.nl>
57 * lily/*.cc: change gh_str02scm() to ly_str02scm().
59 * lily/spacing-spanner.cc (note_spacing): Bound
60 shortest-playing-length by the distance to next note. This should
61 fix chord tremolo spacing.
63 * VERSION: 1.5.55 released
65 * lily/stem.cc (off_callback): invisible stem over whole note is
68 * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
69 stem-tremolo is stem now.
71 * input/mozart-hrn*.ly: many corrections.
73 * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts to
74 support for dynamic scripts.
76 * lily/accidental-placement.cc (position_accidentals): check for
77 collisions as well: should avoid those heads too.
79 * lily/beam.cc (check_concave): allow undefined gap and
80 threshold. Change the meaning of threshold/gap == 0.0.
81 (check_concave): skip Stolba concaveness check if we have a knee
84 2002-05-03 Mats Bengtsson <mats.bengtsson@s3.kth.se>
86 * lily/chord-tremolo-engraver.cc (try_music): Handle chord
87 tremolos of dotted duration.
89 2002-05-03 Han-Wen <hanwen@cs.uu.nl>
91 * mf/feta-klef.mf: more twiddling with G clef. Almost straight
92 downstroke again. Sigh.
94 * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
97 2002-05-02 Han-Wen <hanwen@cs.uu.nl>
99 * lily/slur.cc (add_column): allow slur over rest.
101 2002-04-27 Han-Wen <hanwen@cs.uu.nl>
103 * lily/beam.cc: move scoring constants out of code
105 2002-04-25 Han-Wen <hanwen@cs.uu.nl>
107 * mf/feta-nummer.mf: scalability fixes.
109 * mf/feta-nummer-code.mf: fixes for 5, 8.
111 * mf/feta-klef.mf: G clef fixes.
113 2002-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
115 * scripts/ly2dvi.py: Mats' fix. Try to import pre if available.
117 * scripts/lilypond-book.py: %Newline, rather than glue macros
118 after \end{verbatim}.
120 2002-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
122 * Documentation/user/lilypond-book.itely:
123 * scripts/lilypond-book.py: Add options [no]indent, linewidth and
126 * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
128 * scm/grob-property-description.scm (beam-space): Junk.
130 * lily/beam.cc (space_function): New method.
131 (get_interbeam): Call space-function.
133 * scm/grob-description.scm (Beam): Initialize space-function with
134 Beam::space_function.
136 * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
137 Beam.space-function. Don't quantise grace beams.
139 2002-04-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
141 * VERSION: 1.5.54 released
143 * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
146 * Documentation/index.texi: add PDF links.
148 * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
150 * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
151 compare #'glyph as strings.
153 * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
155 * scripts/ly2dvi.py (setup_environment): fix by Mats.
157 * lily/stem.cc (head_count): Change function name. Change property
158 to #'note-heads i.s.o. #'heads.
159 (position_noteheads): Kern noteheads for invisible stems.
160 (before_line_breaking): Do position_noteheads() for whole note
163 * lily/accidental-placement.cc (position_accidentals): First
164 determine refpoints, only then determine extents.
166 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
168 * lily/accidental-placement.cc (position_accidentals): use all
169 note heads for note head-skyline.
171 * scripts/lilypond-book.py (re_dict): remove all *? regexps.
173 2002-04-22 Jan Nieuwenhuizen <janneke@gnu.org>
175 * Documentation/windows/setup.hint (requires): Add gsview dependency.
177 * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
179 * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
181 * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
183 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
185 * mf/feta-schrift.mf: lighter staccato.
187 2002-04-22 Han-Wen <hanwen@cs.uu.nl>
189 * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
191 2002-04-21 Han-Wen <hanwen@cs.uu.nl>
193 * VERSION: 1.5.53 released
195 * scm/lily.scm (ly-load): use primitive-load for loading.
197 * lily/misc.cc: remove quantise_iv()
199 * lily/*.cc: pass read-only arrays by reference.
201 * lily/grob.cc (common_refpoint_of_array): new function. Try to
202 use common_refpoint_of_{array, list} when possible.
204 * lily/include/accidental-placement.hh: new file.
206 * lily/accidental-placement.cc (alignment_callback): position
207 accidentals in a better way.
209 * lily/skyline.cc: new file. Compute distances for collections of
212 * lily/include/skyline.hh: new file
214 2002-04-20 Han-Wen <hanwen@cs.uu.nl>
216 * lily/accidental.cc (class Accidental_interface): grob for a
219 * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
222 * lily/new-accidental-engraver.cc (acknowledge_grob): Work
223 together with new accidental-interface.
225 * lily/include/*.hh: remove spurious set_interface() decls.
227 * lily/key-signature-interface.cc (brew_molecule): add padding for
228 natural signs. Make natural typesetting like the sharp.
231 * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
232 is now slightly curved, not straight.
235 2002-04-18 Heikki Junes <hjunes@cc.hut.fi>
237 * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
239 * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes
240 more strictly. Use more clever regular expressions. Commented regexps.
242 2002-04-16 Heikki Junes <hjunes@cc.hut.fi>
244 * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
246 2002-04-15 Juergen Reuter <reuter@ipd.uka.de>
248 * scm/grob-description.scm, lily/staff-symbol.cc: added properties
249 to control width of staff symbol in ragged-right mode (by request
252 * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
253 lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
254 lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
255 added support for ligature brackets (needed when transcribing
258 2002-04-15 Heikki Junes <hjunes@cc.hut.fi>
260 * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
261 Fontify notes more strictly.
263 2002-04-15 Han-Wen <hanwen@cs.uu.nl>
265 * mf/feta-din-code.mf: dynamic z sign.
267 2002-04-13 Heikki Junes <hjunes@cc.hut.fi>
269 * lilypond-mode.el: Prevent recoloring strings and comments.
271 * lilypond-font-lock.el: Handle block comments: block comments
272 can have also ordinary comments inside.
274 2002-04-13 Han-Wen <hanwen@cs.uu.nl>
276 * lily/stem.cc (get_default_dir): set direction to CENTER if
277 invisible. Various other fixes to deal with invisible stems and
278 stem-direction == CENTER.
280 * lily/rest-collision.cc (do_shift): take direction from note if
283 * input/regression/tie-grace.ly: new file.
285 * lily/tie-engraver.cc (create_grobs): fix tied graces.
287 * lily/note-spacing.cc (stem_dir_correction): set fixed space for
288 knee correction. Fixes tight spacing for knees.
290 2002-04-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
292 * VERSION: 1.5.52 released
294 * lily/*.cc: add some undocced properties.
295 scm/grob-description.scm: idem.
297 2002-04-12 Heikki Junes <hjunes@cc.hut.fi>
299 * lilypond-font-lock.el: Handle slurs \( and \), numbers,
300 multi-measure rests like "R1 *4" and scheme (typically has '#'
301 in the beginning). Small fixes. Add few reserved words.
303 2002-04-12 Jan Nieuwenhuizen <janneke@gnu.org>
305 * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
308 * Documentation/windows/installing.texi: Suggest gswin32c (console
309 program) for getting the version. Layout fixes.
311 2002-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
313 * Documentation/user/tutorial.itely (Running LilyPond): Separate
314 windows viewing commands, remove silly comment about Yap.
316 2002-04-10 Mats Bengtsson <matsb@s3.kth.se>
318 * Documentation/topdocs/INSTALL.texi: Describe how to learn
319 configure to find kpathsea on for example Slackware 8.0.
321 * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
323 * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
324 by default: avoid "1" over single bar rests.
326 * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
327 and correct the handling of geometry options.
329 2002-04-10 Han-Wen Nienhuys <hanwen@cs.uu.nl>
331 * lily/include/grob-interface.hh (ADD_INTERFACE): make
332 implementation for Class::has_interface automatically. Junk all
333 other implementations.
335 * lily/grob.cc (internal_get_grob_property): also typecheck
336 property reads. Catches even more undocced properties. Bugfixing
337 left for the uninspired masses.
339 * lily/beam.cc: remove end_after_line_breaking().
341 * lily/grob.cc (calculate_dependencies): remove list support for
344 * lily/font-size-engraver.cc: only do font-interface.
346 2002-04-10 Heikki Junes <hjunes@cc.hut.fi>
348 * lilypond-font-lock.el: Handle notes with cautionary accidentals.
351 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
353 * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
354 brackets using arpeggio requests.
356 * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
357 molecule-callback to use for drawing the brackets.
359 * Documentation/user/refman.itely:
360 * input/test/chord-bracket.ly: Chord brackets documented
362 2002-04-10 Han-Wen <hanwen@cs.uu.nl>
364 * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign.
366 * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
368 2002-04-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
370 * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
371 direction tuplets on beams.
373 2002-04-08 Chris Jackson <chris@fluffhouse.org.uk>
375 * lilypond-indent.el: Bugfix of indentation of final point in buffer
377 2002-04-09 Heikki Junes <hjunes@cc.hut.fi>
379 * lilypond-mode.el: new command: LilyPond-un-comment-region.
380 Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el:
381 separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
382 submenu to "LilyPond"-menu.
384 * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
385 an interface to play midi.
387 2002-04-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
389 * input/regression/script-stack-order.ly: new file.
391 2002-04-08 Han-Wen <hanwen@cs.uu.nl>
393 * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
395 * mf/feta-din-code.mf: kerning for dynamics.
397 2002-04-07 Han-Wen <hanwen@cs.uu.nl>
399 * input/regression/dynamics-glyphs.ly: new file
401 * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
403 * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
404 forte f for the 2 number. Some fixes for the other bulbed glyphs.
406 * Documentation/windows/gs-profile.sh:
407 * Documentation/windows/gsview-profile.sh: Remove. Functionality
408 moved to gs/gsview windows packages.
410 2002-04-06 Mats Bengtsson <matsb@s3.kth.se>
412 * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
413 finding out the duration. Fixes chord tremolo bug.
415 * lily/completion-note-heads-engraver.cc (process_music): Set
416 correct duration for all requests of the broken notes.
418 * input/regression/completion-heads.ly: Added example of
419 Completion_heads_engraver.
421 * lilypond-mode.el: Added "2Midi" command
423 2002-04-06 Chris Jackson <chris@fluffhouse.org.uk>
425 * lily/tuplet-bracket.cc, scm/grob-description.scm: New
426 edge-width, edge-height and shorten-pair properties for tuplet
429 * lilypond-indent.el: Support for blinking of matching parentheses
431 * lilypond-font-lock.el: Fix fontification of closing > on its own line
433 * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
434 cleanups of piano pedal brackets.
436 2002-04-05 Han-Wen <hanwen@cs.uu.nl>
438 * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
440 2002-04-04 Han-Wen <hanwen@cs.uu.nl>
442 * mf/feta-new-code.mf: new dynamic f sign.
445 2002-04-03 Han-Wen <hanwen@cs.uu.nl>
447 * mf/feta-new-code.mf: new dynamic p sign.
449 2002-04-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
451 * lily/note-spacing.cc (stem_dir_correction): only do
452 beam-correction if a beam is there.
454 * lily/stem.cc (duration_log): change from flag_i (); better
456 (get_default_stem_end_position): fix dot/flag collision code.
458 2002-04-02 Han-Wen <hanwen@cs.uu.nl>
460 * VERSION: release 1.5.50
462 * lily/spaceable-grob.cc (add_spring): change incorrect spring to
463 unit spring here. Reduces number of warning messages.
465 * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
467 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
469 * scm/generic-property.scm: remove generic-property, property-engraver
471 * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
473 * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
475 * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
477 * scm/*.scm: remove volta, hairpin and tuplet functions.
479 * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
480 note column for notes/stems/dots that already have parents. Fixes
481 nested grace contexts.
483 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
485 * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
486 get too curved slurs.
488 * scm/slur.scm (default-slur-extremity-offset-alist)
489 (default-phrasing-slur-extremity-offset-alist): Move slur
490 attachments further away from note-head, vertically. Also, leave
491 a horizontal gap between slur and stem end.
493 * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
495 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
497 * input/regression/spacing-grace-duration.ly: new file
499 * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
500 for shortest durations.
502 * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
503 extent of the mm rest.
505 * lily/spacing-spanner.cc (get_duration_space): better spacing for
508 * lily/tuplet-bracket.cc (make_bracket): new function
509 (get_x_offset): new function; make tuplet brackets align on stems
510 if stem has same direction.
511 (parallel_beam): be anal about matching bracket to tuplet.
513 * lily/lookup.cc (line): new function Lookup::line().
515 * scm/tex.scm (dashed-line): change -line to -system in names.
517 * lily/box.cc (add_point): new function.
519 * flower/include/interval.hh: new function add_point ().
522 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
524 * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
526 * scm/grob-property-description.scm (number-threshold): Add
529 * lily/multi-measure-rest.cc (brew_molecule): Only put number over
530 rest if #measures > number-threshold. Use padding (well, fake
533 * scm/font.scm (make-style-sheet): New styles: mark-number,
535 (paper20-style-sheet-alist): Add bigger bold fonts.
537 * lily/mark-engraver.cc (process_music): Use style mark-number or
540 * .cvsignore: Ignore all kinds of lilypond input and output.
542 * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
544 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
546 * lily/staff-symbol.cc (brew_molecule): make line thickness
549 * lily/*.cc: replace stafflinethickness by linethickness.
551 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
553 * input/regression/beam-concave.ly: Add to-be-considered-concave
556 * lily/beam.cc (check_concave): Add check for large gap between an
557 inner notehead and the line through outer noteheads.
559 * scm/grob-description.scm (Beam): Add concaveness-gap, default
560 value 2.0 staff-space.
562 * scm/grob-property-description.scm (concaveness-gap): Add
565 * input/mozart-hrn3-allegro.ly: Fix typo.
567 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
569 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
570 lily/note-head-engraver: improved implementation of roundfilledbox
571 (according to Han-Wen's request)
573 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
574 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
575 lily/simple-spacer.cc: ragged-right alignment
577 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
579 * input/regression/spacing-note-flags.ly: new file
581 * input/regression/spacing-rest.ly: new file
583 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
585 * lily/spacing-spanner.cc (note_spacing): make note spacing after
586 all grace notes tight (not only the column directly following a
589 * scm/grob-description.scm (all-grob-descriptions): don't make
590 mm-rests larger than normal.
592 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
593 curved. Remove white space at the right of flags.
595 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
597 * ports/ports.make: Bugfix: ignore CVS directories.
599 * stepmake/.cvsignore: New file.
601 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
603 * lily/note-spacing.cc (stem_dir_correction): don't correct when
604 there is a flag on the stem.
606 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
608 * scm/grob-property-description.scm (measure-length):
609 measure-length grob property.
611 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
612 better spacing for breakable columns when they're juxtaposed: use
613 measure length if applicable
615 * lily/timing-engraver.cc (start_translation_timestep): store
616 measure length in breakable column at start of measure.
618 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
620 * ROADMAP: Add description for ports dir, to check email upon
623 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
625 * VERSION: 1.5.48 released
627 * lily/multi-measure-rest.cc (symbol_molecule): split off from
629 (set_spacing_rods): Use symbol_molecule() to determine minimum
631 (church_rest): split off from brew_molecule()
632 (big_rest): split off from brew_molecule(). Construct using
635 * mf/feta-eindelijk.mf: junk multi measure rest.
637 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
639 * lily/multi-measure-rest.cc (add_column): remove columns property.
641 * lily/dynamic-engraver.cc (process_music): add more verbose warning
643 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
646 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
648 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
649 keywords covered, dropped some non-keywords, include R- and 128-notes
651 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
653 * Code clean-up: Junk multiple implementations of ledger line
654 creation in note_head, custos, and porrectus. This is important
655 since there soon will be some more applications of ledger lines to
656 come (e.g. ambitus engraver).
658 * Make thickness of ledger lines adjustable. This is essential
659 for mensural notation.
661 * Fix some bugs in the current ledger_line implementation, most
662 notably that of the horizontal extent of ledger lines which equals
663 at least the extent of the metafont ledger_line character, and
664 which grows(!) if the desired extent shrinks below this limit.
666 * roundfilledbox: variable blotdiameter
668 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
670 * VERSION: 1.5.47 released
672 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
674 * lily/porrectus.cc: change line-thickness to thickness, change
675 stem-direction to direction.
677 * scm/backend-documentation-lib.scm (check-dangling-properties):
678 Automatically detect doc'ed properties that are not in an interface
680 * scm/grob-property-description.scm: property cleanup. Remove many
681 paper-column props that are non-existent.
683 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
684 the grob has a molecule-callback.
686 * lily/*.cc: remove many set_interface() calls, and their
689 * input/regression/spacing-knee.ly: new file
691 * input/regression/spacing-clef-first-note.ly: new file
693 * lily/staff-spacing.cc (get_spacing_params): different spacing
694 for pref matter to note at start of line, halfway during line.
696 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
697 correction only if stems have same direction (i.e. not for
698 stem-clef combination).
699 (stem_dir_correction): maximal correction for knees.
701 * lily/*.cc: many updates to interface descriptions.
703 * lily/grob.cc (internal_set_grob_property): add interface check
704 for every set_grob_property call
706 * lily/*.cc: document interface stuff in C++
708 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
710 * lily/volta-bracket.cc: naming: change volta spanner to
713 * input/bugs/*.ly: cleanup, remove lots of files.
715 * buildscripts/mf-to-table.py (write_ps_encoding): generate
716 .encoding file. WARNING: upgrade to pktrace 1.0.3
718 * mf/feta-toevallig.mf: change PS name for parentheses.
720 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
722 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
725 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
727 * lily/scope.cc: remove file .
729 * lily/include/scope.hh: remove file. Remove Scope class
733 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
734 score_forbidden_quants): ): take out of SCM, pass parameters so
735 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
737 (calc_stem_y): robustness: take care of last_visible_stem == 0.
740 * lily/lily-guile.cc (ly_unit): return internal unit.
742 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
744 * lily/paper-outputter.cc (output_version): output internal unit
747 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
749 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
751 * scripts/ly2dvi.py: clean up old .*pk font caching code.
753 * scm/ps.scm: Use uppercase postscript font names for the standard
756 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
757 Add all available TeX Type1 fonts, including Feta, to the
758 Ghostscript font path.
760 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
761 version (affects the FontName) in lilypond.map.
763 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
764 documentation file to fetaNNlist.ly to avoid name collisions between
765 lilypond generated .tex file and font .tex macros file.
768 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
770 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
771 made mensural longa and (semi-)brevis leaner
773 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
775 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
776 clean-up: moved bezier shape and slope from porrectus to lookup
778 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
779 and /usr/share/texmf/fonts
781 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
783 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
785 * lily/text-spanner.cc (brew_molecule): add #'thickness
786 (brew_molecule): add corrections for thickness in molecule padding.
788 * lily/line-spanner.cc (line_atom): make function private
790 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
791 discover bounding box. This solves the cropping problem.
793 * lily/bar-check-iterator.cc (process): Only resynchronize bar
794 check when it fails. This fixes the combination of grace notes
797 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
799 * lily/repeated-music.cc (minimum_start): new Scheme callable function
800 (first_start): new Scheme callable. This will fix repeated music
801 starting with grace notes.
803 * lily/music.cc (start_mom): check start-moment-function grob property.
805 * VERSION: 1.5.45 released
807 * input/regression/system-extents.ly: new regression test. Test
810 * lily/system.cc: rename LineOfScore into System
812 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
814 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
815 (ly_get_extent): new Scheme function ly-get-extent
817 * ps/lilyponddefs.ps: use output-scale for line-x
820 * scm/ps.scm (font-load-command):
823 2002-03-20 Rune Zedeler <rune@zedeler.dk>
825 * lily/beaming-info.cc: Stupid typo fixed
827 * lily/accidental-engraver.cc: rewrote accidental-routines to get
828 support for cross-context auto-accidentals.
829 Now the engraver can stay in Staff-context and see other contexts
831 Changed properties: autoAccidentals, autoCautionaries
833 * lily/translator-group.cc (set_children_property):
834 Function added recursively setting the same property (deep_copied)
835 for all children of a Translator_group.
837 * ly/property-init.ly: added commands
838 \pianoAccidentals \voiceAccidentals
839 \modernVoiceAccidentals \modernVoiceCautionaries
841 * ly/engraver-init.ly: Correct initialization of new accidentals.
843 * scm/translator-property-description.scm: Updated
845 * input/regression/accidental-voice.ly: Added
847 * Documentation/regression-test.tely: Added new test
849 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
851 * VERSION: 1.5.44 released
853 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
855 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
857 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
860 * tex/feta*.tex: remove.
862 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
863 all software dealing with it.
865 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
867 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
868 (this fixes pdf output). Drop awk dependency.
870 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
871 dimensions (linewidth) are in mm.
873 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
875 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
877 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
879 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
881 * VERSION: 1.5.43 released
883 * scm/beam.scm (beam-dir-majority-median): if majority is
884 undecided, use median. Removes a forced dir in sarabande.
886 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
888 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
890 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
891 widths, heights and shortens are now customisable properties.
893 * scm/grob-description.scm, scm/grob-property-description.scm: New
894 properties added to PianoPedalBracket, unnecessary
895 Y-offset-callbacks removed from *Pedal, undocumented properties
898 * Documentation/user/refman.itely: Piano pedal updates.
900 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
902 * scm/grob-property-description.scm:
903 * scm/interface-description.scm: Remove old stuff.
905 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
906 0.48 (previously 0.42).
907 (Beam): Remove old stuff.
910 * lily/stem-tremolo.cc:
912 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
913 (previously space-function).
915 * stepmake/bin/add-html-footer.py: Website title fix.
917 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
919 * scripts/ly2dvi.py (environment): use new font searching setup.
921 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
923 * lily/tfm.cc (dimensions): make code dimension independent
925 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
928 * tex/lily-ps-defs.tex: scaling for PS points and MM.
930 * lily/include/dimensions.hh: try MM as internal unit.
932 * scm/*.scm: remove invoke-dim1
934 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
936 * GNUmakefile.in (fontpaths): add fontpaths target,
938 * make/mutopia-targets.make: add PDF rules.
940 * make/mutopia-rules.make: add pdf rule.
942 * buildscripts/mutopia-index.py (list_item): add PDF.
944 * buildscripts/lilypond-profile.sh (TEXMF): typo.
946 * make/lilypond-vars.make: set TEXMF for the new font setup.
948 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
950 * VERSION: 1.5.42 released
952 * mf/feta-schrift.mf: endless twiddling of Tr.
954 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
955 endless twiddling with the bulb shape.
957 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
958 little smaller if there is an accidental.
960 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
962 * buildscripts/lilypond-profile.sh:
964 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
965 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
966 Implement new font installation strategy
968 * Documentation/misc/fontinstallation (TEXMF): Documentation of
969 the new font installation strategy.
971 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
974 * input/test/staff-size.ly: Simplified using StaffContainer
976 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
979 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
981 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
983 * lily/beam.cc (score_stem_lengths): new quanting stuff
984 (score_forbidden_quants): Second and third beam quant stuff.
986 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
988 * lily/beam.cc (least_squares): Remember least-squares-dy for
990 (quantise_interval): Don't quant to dy steeper that
991 least-squares-dy. Return empty interval if no sane quants found.
992 (quantise_position): Try quantise_interval until we have
995 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
997 * scm/interface-description.scm (beam-interface): Update.
999 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1001 * VERSION: 1.5.41 released
1003 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
1004 optima serifs on top of t, bottom of r.
1006 * mf/feta-bolletjes.mf: make ledger line rounder.
1008 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
1010 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
1013 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
1015 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
1016 well as text pedal indications and a combination of both. All
1017 pedal indications are horizontally aligned on a line spanner.
1019 * lily/text-spanner.cc: Edge-width property added to use in
1020 bracketed piano pedals. Function setup_sustain_pedal added to set
1021 the dimensions of the brackets.
1023 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
1024 some of the *Pedal properties tweaked.
1026 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
1027 edge-width (TextSpanner) properties.
1029 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
1031 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
1032 fontified identifiers list.
1034 * input/test/pedal.ly: New pedal features added.
1036 * Documentation/user/refman.itely: New pedal features documented.
1039 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1041 * lily/include/new-beam.hh: Previously new-beam.hh
1042 * lily/beam.cc: Previously new-beam.cc
1043 (least_squares): Bugfix: don't barf on beams with less than two
1044 visible stems (tremolos).
1047 * scm/grob-description.scm (Beam): Junk old beam stuff.
1050 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1054 * mf/feta-eindelijk.mf: new 8th rest.
1056 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
1057 stick out of staffline
1059 * scripts/lilypond-book.py: fixes for texi regular expressions.
1061 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
1063 * lily/include/new-beam.hh:
1064 * lily/new-beam.cc: New file.
1066 * flower/include/interval.hh:
1067 * flower/include/interval.tcc (delta): New method.
1068 (swap): Now public (previously private).
1070 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
1071 1 staff-line-thickness. Sadly, this makes dy quanting problems
1072 (dy quants allowed should depend on actual left y) more visible.
1074 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
1076 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
1078 * scm/grob-property-description.scm (concaveness-threshold): Add
1079 typecheck and description.
1081 * scm/grob-description.scm (Beam): Remove obsolete properties, add
1082 concaveness-threshold (previously concaveness).
1084 * lily/beam.cc (check_concave): Remove choices and debugging
1085 stuff: use best concaveness calculation.
1086 (quantise_dy): Remove choice. Try to never make a slope steeper
1087 by quantising, but certainly never quantise a slope away.
1088 (check_stem_length_f): Remove choice. In case of lengthening
1089 alowed, always lengthen to ideal length.
1091 * Documentation/index.texi: Fix FAQ url.
1093 * Documentation/topdocs/INSTALL.texi: Add information about fink,
1094 compile fix and 1.4 specific fix that doesn't hurt 1.5.
1096 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
1098 * VERSION: 1.5.39 released
1100 * lily/simple-spacer.cc (add_rod): rods take precedence over
1101 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
1103 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
1105 * lily/note-spacing.cc (get_spacing): only insert space for
1106 accidentals if necessary.
1108 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
1110 * lily/spacing-spanner.cc (musical_column_spacing): new
1111 function. Have correct spacing from note to end-of-line as well.
1113 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
1115 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
1117 * darwin.patch: New file.
1119 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
1120 code. Shorten stems by fraction of stems to be shortened.
1122 * lily/stem.cc (get_default_stem_end_position): Shorten only half
1123 of shorten value for boundary cases.
1125 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
1126 (Beam): Set beamed-stem-shorten to (1.0 0.5).
1128 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
1130 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
1132 * scm/grob-description.scm (Beam): Add concaveness. Replace
1133 Beam::cancel_suspect_slope with Beam::check_concave.
1135 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
1136 set slope to horizontal if concaveness > Beam.concaveness. This
1137 handles cases that kludgy cancel_suspect_slope was meant to catch
1139 (cancel_suspect_slope): Remove.
1141 2002-03-12 Rune Zedeler <rune@zedeler.dk>
1143 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
1144 stemLeftBeamCount and stemRightBeamCount to equal 0.
1147 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
1149 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
1150 fixed spacing for pref matter, if the next column is musical, and
1153 * lily/note-spacing.cc (stem_dir_correction): Use correct
1154 discretionary for stem-bar spacing.
1156 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
1158 * VERSION: 1.5.38 released
1160 * lily/grob.cc (warning): Use cause tracking to give more
1161 meaningful errors from the backend.
1163 * lily/property-iterator.cc (check_grob): Warn if setting grob
1164 property in unknown grob.
1166 * mf/feta-toevallig.mf: brushed stems for natural sign.
1168 * lily/molecule.cc (align_to): don't translate empty molecule.
1169 (this triggers a very subtle bug in time-signature.)
1171 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
1173 * lily/spring.cc: remove file.
1175 * input/regression/spacing-stem-bar.ly: new file
1177 * lily/score.cc (run_translator): resurrect point-and-click
1179 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
1182 * lily/spacing-spanner.cc (find_shortest): Shortest note for
1183 spacing is now globally determined, using the most common shortest
1184 note. Notes that are shorter are spaced geometrically, and with
1185 expand hints. This makes spacing more even, and measures that have
1186 very short notes won't be that stretched out.
1188 * mf/feta-klef.mf: F-clef fixes, documentation on the
1189 shape. (WARNING: font changed.)
1191 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
1193 * lily/simple-spacer.cc (add_columns): support for infinitely
1196 * lily/staff-spacing.cc (get_spacing_params): space after
1197 prefatory matter is fixed.
1199 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
1201 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
1202 barline following an upstem.
1204 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
1205 function from next_notes_correction().
1206 (bar_y_positions): idem.
1208 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1210 * input/regression/break.ly (texidoc): bugfix: escape \ in
1213 * lily/staff-spacing.cc (next_notes_correction): Correct the
1214 spacing of a note following a barline.
1217 2002-03-04 Glen Prideaux
1219 * mf/feta-solfa.mf: Shaped note heads
1221 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
1223 * VERSION: 1.5.37 released
1225 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
1226 left-align molecule.
1228 * lily/break-align-interface.cc (do_alignment): completely
1229 rewritten. Now it does not use Align_interface anymore, but a
1230 separate routine. Like StaffSpacing, it reads space-alist from the
1231 breakable grobs. This allows you to set spacing using
1233 \property Staff.Clef \override #'space-alist = '(....stuff....)
1235 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
1236 to Bar_line. Move files around as well.
1238 * lily/time-signature.cc (time_signature): left align time signatures.
1240 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
1241 Corrections of the glyph shape C. Comments added.
1243 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1245 * lily/spacing-spanner.cc: move from third-try.cc; rename
1246 Third_spacing_spanner to Spacing_spanner.
1248 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
1249 spacing stuff. Much cleaner now, and we prepare for neat spacing
1250 tricks around bar lines and such.
1252 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
1253 variables with themselves. (Ouch.)
1255 * lily/span-bar.cc (brew_molecule): don't try to span bars that
1258 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1262 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
1265 * lily/music.cc (ly_get_mus_property): typechecking
1266 (ly_set_mus_property): idem
1267 (ly_make_music): idem
1268 (ly_music_name): idem
1270 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
1272 * lily/note-spacing.cc (stem_dir_correction): correction for
1273 same stem notes as well.
1275 * lily/pitch.cc (pitch_transpose): stricter typechecking
1277 * mf/parmesan*mf: magnification fixes.
1279 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
1281 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1283 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
1284 documenting the font. (Doesn't work for parmesan at the moment)
1286 * Documentation/user/appendices.itely (The Feta font): Add list of
1287 Feta font symbols with names.
1289 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
1292 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
1294 * lily/translator-group.cc (ly_set_trans_property): typechecking
1295 (ly_get_trans_property): typechecking.
1297 * lily/font-metric.cc (ly_text_dimension): typechecking
1298 (ly_find_glyph_by_name): idem.
1300 * scm/bass-figure.scm (brew-complete-figure): support for
1303 * lily/grob.cc (ly_get_paper_var): new function
1305 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1307 * VERSION (PATCH_LEVEL): 1.5.35 released.
1309 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
1310 (bracket): New function.
1312 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
1313 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
1315 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
1318 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
1321 * lily/grob.cc (ly_get_grob_property): be anal about types.
1322 (ly_set_grob_property): idem
1324 * lily/figured-bass-engraver.cc (process_music): move molecule
1325 building completely to Scheme
1327 * lily/include/musical-request.hh (class Bass_figure_req): Add
1330 * lily/parser.yy (bass_figure): add support for space figure.
1332 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
1334 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
1336 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
1337 (ly_align_to_x): new function ly-align-to!
1339 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
1340 function ly-get-font
1342 * mf/feta-nummer.mf: include normal-space dimension.
1344 * lily/collision.cc (check_meshing_chords): don't merge collisions
1347 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
1350 2002-02-28 Mats Bengtsson <matsb@s3.kth.se>
1352 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
1354 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
1356 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
1359 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
1362 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
1363 scm/grob-description.scm: added mensural fermata symbol
1365 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1367 * VERSION: 1.5.34 released.
1369 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
1371 * lily/staff-symbol-referencer.cc (callback): assume that
1372 staff-position is unset in general.
1374 * input/regression/rest-pitch.ly: new file.
1376 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
1379 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1381 * lily/scm-option.cc (set_lily_option): add internal-type-checks
1382 as Scheme option. Run regression test by default with
1383 internal-type-checking.
1385 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
1387 * lily/lily-guile.cc (type_check_assignment): changed functions.
1389 * scm/*description*.scm: be anal about typechecks. Some changes
1390 for internal variable names.
1392 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1394 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
1396 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
1398 * VERSION: 1.5.33 released.
1400 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
1401 flare_path everywhere (c-clef, numbers).
1403 * lily/bar-number-engraver.cc (process_music): also print bar
1404 number if measure starts with grace note.
1406 * input/regression/grace-bar-number.ly: new test.
1408 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
1410 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
1413 * scm/music-functions.scm (voicify-music): split chords into
1414 different voices automatically.
1416 * lily/music.cc (ly_music_list_p): new function
1418 * lily/music-sequence.cc (do_relative_octave): robustification
1420 * scm/music-functions.scm: many utility functions
1422 * lily/music.cc (ly_set_mus_property): add type checks to the
1423 Scheme property assignment.
1425 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
1428 * mf/lilypond.map: .map file from Mats' page.
1430 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
1432 * Some more parmesan related fixes;
1434 * Custos: varying shape (in particular, stem length), depending on the
1435 vertical position of the custos (on staffline / between stafflines);
1437 * Custos: added grob property "neutral-direction" (same semantics as
1438 with stem); introduced new grob property "neutral-position";
1440 * Time-signature: print a warning when resorting to default layout.
1442 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1444 * lily/translator-group.cc (add_fresh_simple_translator): remove
1445 function; initialize() is called through
1446 Translator_group::initialize().
1448 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
1449 for the neighbors of a loose column.
1451 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
1452 position loose columns so that they don't collide.
1454 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1456 * VERSION: 1.5.32 released.
1458 * scm/font.scm: remove font-name symbol.
1460 * mf/GNUmakefile: use pktrace for making PFAs
1462 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
1464 * lily/rest-collision.cc (do_shift): read direction field from
1465 rest-column in case of note-rest collision. This should fix some
1466 problems with rest collisions.
1468 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1470 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
1473 * lily/note-head.cc (brew_ez_molecule): Remove note-character
1474 property. Read pitch directly from #'cause.
1476 * mf/feta-puntje.mf: bugfix
1478 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
1480 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
1482 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
1484 * Documentation/windows/compiling.texi: Update.
1486 * Documentation/index.texi: Add link to orphaned compiling for
1489 * Documentation/footer.html.in: Comment fix.
1491 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
1493 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
1495 * VERSION: 1.5.31 released
1497 * lily/new-spacing-spanner.cc: remove file.
1499 * lily/third-try.cc (do_measure): only take spacings into account
1500 if they pertain to the column pair under consideration. This fixes
1501 spacing bug when mixing eighths triplets and normal eighths.
1503 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
1504 lines don't take up space anymore. Document why in note-head.cc
1507 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
1509 * lily/font-interface.cc (get_font): reinstate
1510 #'font-magnification. See input/regression/font-magnification.ly
1511 (get_font): Change the definition of #'font-name grob property.
1513 * lily/grob.cc (get_uncached_molecule): output origin for grobs
1514 that have a #'cause field.
1516 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1518 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
1520 * mf/GNUmakefile: remove metapost stuff
1522 * stepmake/aclocal.m4: remove metapost detection stuff.
1524 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
1526 * mf/GNUmakefile (FET_FILES):
1527 (FONT_FILES): Include parmesan.
1529 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
1532 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
1534 * Documentation/user/refman.itely (Paper size): Quote braces.
1536 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1538 * stepmake/aclocal.m4: fixed bison version check to be more
1541 * lily/stem.cc (position_noteheads): fix for cluster chords.
1543 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
1545 * python 2.2 support.
1547 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1549 * VERSION: 1.5.30 released
1551 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1553 * Documentation/user/refman.itely (Dynamics): add a note about
1556 * scm/grob-description.scm: add a 'translator-type? object
1557 property, so that \property Foo.Bar =\turnOff doesn't cause
1560 * lily/translator-group.cc (add_fresh_group_translator): make
1561 new add-translator functions to make distinction between fresh and
1562 used group-translators. Fixes problem with scripts on auto-changing voice
1564 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1565 add to Score_performer. Fixes bar checks in MIDI
1567 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1568 heads. Fixes many quirks with ties.
1570 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1571 in the grob property #'cause, instead of using Grob_info.
1573 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1574 staff context, fixing dot alignment on collisions.
1576 * lily/beam-engraver.cc (try_music): remove can't find beam start
1577 warning, so that skipTypesetting won't complain.
1579 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1581 * Documentation/user/refman.itely (Paper size): Documentation fix,
1584 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1586 * scm/grob-description.scm: \breathe: Use feta font comma by default
1588 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1590 * input/template/piano-dynamics.ly (pedal): Simplified
1592 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1594 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1596 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1598 * lilypond-mode.el (LilyPond-command-query): ignore case.
1600 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1602 * VERSION: 1.5.29 released
1604 * all files: change 2001 to 2002 in headers globally
1606 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1607 cheese") font. WARNING: fonts changed.
1609 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1611 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1613 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1615 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1617 * mf/*.mf: Fixed a few typos in various .mf files
1619 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1621 * mf/: added macro soft_penstroke
1623 softened some glyphs
1624 redrawn triangular noteheads
1626 added classical quarter rest
1628 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1630 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1631 lines and staff_space>=2
1633 * lily/rest.cc: Use default rests when current style glyphs not
1635 \property Staff.Rest \override #'style = #'classical
1637 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1639 * input/bugs/first-tie.ly: New file.
1641 * input/bugs/spacing-clash.ly: New file.
1643 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1647 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1649 * lilypond-indent.el: New file providing indentation for
1650 parenthesised blocks of lilypond code in Emacs
1652 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1653 indentation and handle block comments properly. Distinguish
1654 accents from close-brackets in fontification.
1656 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1658 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1660 * Documentation/windows/installing.texi:
1661 * Documentation/windows/compiling.texi: Include from 1.4.10.
1663 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1665 * input/bugs/first-midi-tie.ly: New file.
1667 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1669 * VERSION: 1.5.28 released
1671 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1672 illicit beams on [c4 c4] etc.
1674 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1675 file. Make separate iterator for Bar_checks. Bar_check now happen
1676 outside engravers, meaning that you can use them with
1677 skipTypesetting. Associated changes in other files.
1679 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1682 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1684 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1686 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1688 * lily/stem.cc (set_spacing_hints): removed function
1690 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1691 correction for spacing; now take vertical extents of the stem into
1694 * lily/third-try.cc: More hacking to get spacing working.
1696 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1697 sits at staff level and creates note spacing objects. Scrap it
1698 again, and document why.
1700 * lily/include/group-interface.hh: rename functions.
1702 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1704 * stepmake/stepmake/c++-rules.make:
1705 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1707 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1709 * make/lilypond-vars.make:
1710 * scripts/ly2dvi.py (setup_environment):
1711 * scripts/lilypond-book.py (setup_environment): Also set tex
1714 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1716 * VERSION: 1.5.27 released.
1718 * Documentation/user/refman.itely (Bar numbers): added bar number
1721 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1724 2001-12-22 Mats Bengtsson <matsb@s3.kth.se>
1726 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1727 spread the last few lines all over the last page of a score.
1729 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1731 * lily/third-try.cc: 3rd try at revising spacing
1732 engine. Not yet finished.
1734 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1737 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1738 collecting past note heads.
1740 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1743 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1744 class. Keep a queue of grobs that are still playing in busyGrobs.
1746 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1747 function. Use busyGrobs to detect playing notes.
1749 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1751 * Documentation/topdocs/INSTALL.texi: Added note about broken
1752 python-2.1. Updated note for Debian's broken (well, broken for
1753 our use anyway) tex configuration.
1755 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1757 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1758 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1760 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1761 (But left margin of png's still misses a few pixels. Arg.)
1763 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1765 * lilypond-mode.el (LilyPond-command-next-midi): Make
1766 possible to kill midi-process (using "C-c C-m").
1768 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1770 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1771 Convert strings with dimensions to numbers.
1773 * lily/volta-engraver.cc: only make a bracket for the top staff,
1774 as found in stavesFound.
1776 * lily/bar-number-engraver.cc: remove staff administration.
1778 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1779 administration. This breaks support for invisible-staff.
1781 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1782 symbols into stavesFound.
1784 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1785 grobs, and put them into columns.
1787 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1788 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1790 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1792 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1793 midi section in the Emacs-mode, so it is possible to play certain
1794 score in a multiscore lilypond-file.
1796 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1797 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1798 (FIXME: not accessible from guile)
1800 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1801 better support for Kurt Stone's suggestions.
1802 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1804 Changed property: localKeySignature.
1805 Added properties: extraNatural, autoAccidentals,
1808 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1810 * ly/property-init.ly: added commands
1811 \defaultAccidentals \modernAccidentals \modernCautionaries
1812 \noResetKey \forgetAccidentals
1814 * ly/engraver-init.ly: Correct initialization of new accidentals.
1816 * scm/translator-property-description.scm: The new properties
1819 * input/: Some examples added, some changed.
1821 * Documentation/regression-test.tely: Added quick test of new
1824 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1826 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1829 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1831 * lily/beam.cc (before_line_breaking): Make beams without stems
1832 or with only one stem disappear.
1834 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1836 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1837 files to have standardised HTML bibliography output. Update build
1838 docs to reflect this.
1840 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1841 active_count_, so that we don't have to look for active springs
1844 * scm/interface-description.scm,scm/grob-property-description.scm:
1847 * lily/simple-spacer.cc (solve): Handle forced line breaks
1848 here. Fixes problems when combining linebreaks with non-fitting
1851 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1853 * 1.4.9.jcn3 forward ports.
1855 * Really included .cvsignore.
1857 * Included Han-Wen's uu1 windows fixes.
1859 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1861 * Added Cygwin setup.hint
1863 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1864 tetex/texmf, python installations.
1866 * Updated cygwin installer.
1868 * ly2dvi: Don't accept filenames with spaces (+ fix).
1870 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1872 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1874 * lily/translator-def.cc: Remove manual symbol caching.
1876 * lily/script-column.cc (before_line_breaking): robustness check:
1877 don't crash if no direction set.
1879 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1881 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1885 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1887 * lily/note-head.cc (head_extent): added to compute width without
1888 ledger lines. By default, ledger lines take up width now.
1890 * input/regression/fingering.ly: demonstrate auto fingering.
1891 Horizontal placement is still buggy.
1893 * lily/fingering-engraver.cc (class Fingering_engraver):
1894 added. Provides support for horizontal fingering scripts
1896 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1898 * lily/side-position-interface.cc (add_staff_support): add staff
1899 only for Y-axis side positions.
1901 * lily/parser.yy (request_chord): Fix mem leak.
1903 * lily/musical-request.cc (transpose): moved to Music::transpose()
1905 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1906 can store grobs as grob-creation cause as well.
1908 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1909 handle when adding. Use precomputed symbols throughout lily.
1911 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1912 track of spacing issues.
1914 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1915 to keep track of staff spacing
1917 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1919 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1920 code clean from conditionals and have a concentrated sets of
1921 compatibility fixes for old guile versions.
1923 * Fixes for guile 1.4, including embedded ps.
1925 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1927 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1928 well for markup texts.
1930 * lily/musical-request.cc (length_mom): kludge for null pointer.
1932 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1934 * scm/lily.scm (sign): bugfix
1936 * CHANGES: Change log instated.
1938 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.