1 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
3 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
4 lily/note-head-engraver: improved implementation of roundfilledbox
5 (according to Han-Wen's request)
7 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
8 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
9 lily/simple-spacer.cc: ragged-right alignment
11 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
13 * input/regression/spacing-note-flags.ly: new file
15 * input/regression/spacing-rest.ly: new file
17 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
19 * lily/spacing-spanner.cc (note_spacing): make note spacing after
20 all grace notes tight (not only the column directly following a
23 * scm/grob-description.scm (all-grob-descriptions): don't make
24 mm-rests larger than normal.
26 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
27 curved. Remove white space at the right of flags.
29 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
31 * ports/ports.make: Bugfix: ignore CVS directories.
33 * stepmake/.cvsignore: New file.
35 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
37 * lily/note-spacing.cc (stem_dir_correction): don't correct when
38 there is a flag on the stem.
40 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
42 * scm/grob-property-description.scm (measure-length):
43 measure-length grob property.
45 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
46 better spacing for breakable columns when they're juxtaposed: use
47 measure length if applicable
49 * lily/timing-engraver.cc (start_translation_timestep): store
50 measure length in breakable column at start of measure.
52 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
54 * ROADMAP: Add description for ports dir, to check email upon
57 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
59 * VERSION: 1.5.48 released
61 * lily/multi-measure-rest.cc (symbol_molecule): split off from
63 (set_spacing_rods): Use symbol_molecule() to determine minimum
65 (church_rest): split off from brew_molecule()
66 (big_rest): split off from brew_molecule(). Construct using
69 * mf/feta-eindelijk.mf: junk multi measure rest.
71 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
73 * lily/multi-measure-rest.cc (add_column): remove columns property.
75 * lily/dynamic-engraver.cc (process_music): add more verbose warning
77 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
80 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
82 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
83 keywords covered, dropped some non-keywords, include R- and 128-notes
85 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
87 * Code clean-up: Junk multiple implementations of ledger line
88 creation in note_head, custos, and porrectus. This is important
89 since there soon will be some more applications of ledger lines to
90 come (e.g. ambitus engraver).
92 * Make thickness of ledger lines adjustable. This is essential
93 for mensural notation.
95 * Fix some bugs in the current ledger_line implementation, most
96 notably that of the horizontal extent of ledger lines which equals
97 at least the extent of the metafont ledger_line character, and
98 which grows(!) if the desired extent shrinks below this limit.
100 * roundfilledbox: variable blotdiameter
102 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
104 * VERSION: 1.5.47 released
106 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
108 * lily/porrectus.cc: change line-thickness to thickness, change
109 stem-direction to direction.
111 * scm/backend-documentation-lib.scm (check-dangling-properties):
112 Automatically detect doc'ed properties that are not in an interface
114 * scm/grob-property-description.scm: property cleanup. Remove many
115 paper-column props that are non-existent.
117 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
118 the grob has a molecule-callback.
120 * lily/*.cc: remove many set_interface() calls, and their
123 * input/regression/spacing-knee.ly: new file
125 * input/regression/spacing-clef-first-note.ly: new file
127 * lily/staff-spacing.cc (get_spacing_params): different spacing
128 for pref matter to note at start of line, halfway during line.
130 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
131 correction only if stems have same direction (i.e. not for
132 stem-clef combination).
133 (stem_dir_correction): maximal correction for knees.
135 * lily/*.cc: many updates to interface descriptions.
137 * lily/grob.cc (internal_set_grob_property): add interface check
138 for every set_grob_property call
140 * lily/*.cc: document interface stuff in C++
142 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
144 * lily/volta-bracket.cc: naming: change volta spanner to
147 * input/bugs/*.ly: cleanup, remove lots of files.
149 * buildscripts/mf-to-table.py (write_ps_encoding): generate
150 .encoding file. WARNING: upgrade to pktrace 1.0.3
152 * mf/feta-toevallig.mf: change PS name for parentheses.
154 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
156 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
159 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
161 * lily/scope.cc: remove file .
163 * lily/include/scope.hh: remove file. Remove Scope class
167 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
168 score_forbidden_quants): ): take out of SCM, pass parameters so
169 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
171 (calc_stem_y): robustness: take care of last_visible_stem == 0.
174 * lily/lily-guile.cc (ly_unit): return internal unit.
176 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
178 * lily/paper-outputter.cc (output_version): output internal unit
181 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
183 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
185 * scripts/ly2dvi.py: clean up old .*pk font caching code.
187 * scm/ps.scm: Use uppercase postscript font names for the standard
190 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
191 Add all available TeX Type1 fonts, including Feta, to the
192 Ghostscript font path.
194 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
195 version (affects the FontName) in lilypond.map.
197 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
198 documentation file to fetaNNlist.ly to avoid name collisions between
199 lilypond generated .tex file and font .tex macros file.
202 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
204 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
205 made mensural longa and (semi-)brevis leaner
207 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
209 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
210 clean-up: moved bezier shape and slope from porrectus to lookup
212 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
213 and /usr/share/texmf/fonts
215 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
217 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
219 * lily/text-spanner.cc (brew_molecule): add #'thickness
220 (brew_molecule): add corrections for thickness in molecule padding.
222 * lily/line-spanner.cc (line_atom): make function private
224 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
225 discover bounding box. This solves the cropping problem.
227 * lily/bar-check-iterator.cc (process): Only resynchronize bar
228 check when it fails. This fixes the combination of grace notes
231 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
233 * lily/repeated-music.cc (minimum_start): new Scheme callable function
234 (first_start): new Scheme callable. This will fix repeated music
235 starting with grace notes.
237 * lily/music.cc (start_mom): check start-moment-function grob property.
239 * VERSION: 1.5.45 released
241 * input/regression/system-extents.ly: new regression test. Test
244 * lily/system.cc: rename LineOfScore into System
246 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
248 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
249 (ly_get_extent): new Scheme function ly-get-extent
251 * ps/lilyponddefs.ps: use output-scale for line-x
254 * scm/ps.scm (font-load-command):
257 2002-03-20 Rune Zedeler <rune@zedeler.dk>
259 * lily/beaming-info.cc: Stupid typo fixed
261 * lily/accidental-engraver.cc: rewrote accidental-routines to get
262 support for cross-context auto-accidentals.
263 Now the engraver can stay in Staff-context and see other contexts
265 Changed properties: autoAccidentals, autoCautionaries
267 * lily/translator-group.cc (set_children_property):
268 Function added recursively setting the same property (deep_copied)
269 for all children of a Translator_group.
271 * ly/property-init.ly: added commands
272 \pianoAccidentals \voiceAccidentals
273 \modernVoiceAccidentals \modernVoiceCautionaries
275 * ly/engraver-init.ly: Correct initialization of new accidentals.
277 * scm/translator-property-description.scm: Updated
279 * input/regression/accidental-voice.ly: Added
281 * Documentation/regression-test.tely: Added new test
283 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
285 * VERSION: 1.5.44 released
287 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
289 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
291 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
294 * tex/feta*.tex: remove.
296 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
297 all software dealing with it.
299 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
301 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
302 (this fixes pdf output). Drop awk dependency.
304 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
305 dimensions (linewidth) are in mm.
307 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
309 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
311 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
313 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
315 * VERSION: 1.5.43 released
317 * scm/beam.scm (beam-dir-majority-median): if majority is
318 undecided, use median. Removes a forced dir in sarabande.
320 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
322 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
324 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
325 widths, heights and shortens are now customisable properties.
327 * scm/grob-description.scm, scm/grob-property-description.scm: New
328 properties added to PianoPedalBracket, unnecessary
329 Y-offset-callbacks removed from *Pedal, undocumented properties
332 * Documentation/user/refman.itely: Piano pedal updates.
334 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
336 * scm/grob-property-description.scm:
337 * scm/interface-description.scm: Remove old stuff.
339 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
340 0.48 (previously 0.42).
341 (Beam): Remove old stuff.
344 * lily/stem-tremolo.cc:
346 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
347 (previously space-function).
349 * stepmake/bin/add-html-footer.py: Website title fix.
351 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
353 * scripts/ly2dvi.py (environment): use new font searching setup.
355 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
357 * lily/tfm.cc (dimensions): make code dimension independent
359 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
362 * tex/lily-ps-defs.tex: scaling for PS points and MM.
364 * lily/include/dimensions.hh: try MM as internal unit.
366 * scm/*.scm: remove invoke-dim1
368 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
370 * GNUmakefile.in (fontpaths): add fontpaths target,
372 * make/mutopia-targets.make: add PDF rules.
374 * make/mutopia-rules.make: add pdf rule.
376 * buildscripts/mutopia-index.py (list_item): add PDF.
378 * buildscripts/lilypond-profile.sh (TEXMF): typo.
380 * make/lilypond-vars.make: set TEXMF for the new font setup.
382 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
384 * VERSION: 1.5.42 released
386 * mf/feta-schrift.mf: endless twiddling of Tr.
388 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
389 endless twiddling with the bulb shape.
391 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
392 little smaller if there is an accidental.
394 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
396 * buildscripts/lilypond-profile.sh:
398 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
399 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
400 Implement new font installation strategy
402 * Documentation/misc/fontinstallation (TEXMF): Documentation of
403 the new font installation strategy.
405 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
408 * input/test/staff-size.ly: Simplified using StaffContainer
410 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
413 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
415 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
417 * lily/beam.cc (score_stem_lengths): new quanting stuff
418 (score_forbidden_quants): Second and third beam quant stuff.
420 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
422 * lily/beam.cc (least_squares): Remember least-squares-dy for
424 (quantise_interval): Don't quant to dy steeper that
425 least-squares-dy. Return empty interval if no sane quants found.
426 (quantise_position): Try quantise_interval until we have
429 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
431 * scm/interface-description.scm (beam-interface): Update.
433 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
435 * VERSION: 1.5.41 released
437 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
438 optima serifs on top of t, bottom of r.
440 * mf/feta-bolletjes.mf: make ledger line rounder.
442 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
444 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
447 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
449 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
450 well as text pedal indications and a combination of both. All
451 pedal indications are horizontally aligned on a line spanner.
453 * lily/text-spanner.cc: Edge-width property added to use in
454 bracketed piano pedals. Function setup_sustain_pedal added to set
455 the dimensions of the brackets.
457 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
458 some of the *Pedal properties tweaked.
460 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
461 edge-width (TextSpanner) properties.
463 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
465 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
466 fontified identifiers list.
468 * input/test/pedal.ly: New pedal features added.
470 * Documentation/user/refman.itely: New pedal features documented.
473 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
475 * lily/include/new-beam.hh: Previously new-beam.hh
476 * lily/beam.cc: Previously new-beam.cc
477 (least_squares): Bugfix: don't barf on beams with less than two
478 visible stems (tremolos).
481 * scm/grob-description.scm (Beam): Junk old beam stuff.
484 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
488 * mf/feta-eindelijk.mf: new 8th rest.
490 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
491 stick out of staffline
493 * scripts/lilypond-book.py: fixes for texi regular expressions.
495 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
497 * lily/include/new-beam.hh:
498 * lily/new-beam.cc: New file.
500 * flower/include/interval.hh:
501 * flower/include/interval.tcc (delta): New method.
502 (swap): Now public (previously private).
504 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
505 1 staff-line-thickness. Sadly, this makes dy quanting problems
506 (dy quants allowed should depend on actual left y) more visible.
508 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
510 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
512 * scm/grob-property-description.scm (concaveness-threshold): Add
513 typecheck and description.
515 * scm/grob-description.scm (Beam): Remove obsolete properties, add
516 concaveness-threshold (previously concaveness).
518 * lily/beam.cc (check_concave): Remove choices and debugging
519 stuff: use best concaveness calculation.
520 (quantise_dy): Remove choice. Try to never make a slope steeper
521 by quantising, but certainly never quantise a slope away.
522 (check_stem_length_f): Remove choice. In case of lengthening
523 alowed, always lengthen to ideal length.
525 * Documentation/index.texi: Fix FAQ url.
527 * Documentation/topdocs/INSTALL.texi: Add information about fink,
528 compile fix and 1.4 specific fix that doesn't hurt 1.5.
530 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
532 * VERSION: 1.5.39 released
534 * lily/simple-spacer.cc (add_rod): rods take precedence over
535 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
537 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
539 * lily/note-spacing.cc (get_spacing): only insert space for
540 accidentals if necessary.
542 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
544 * lily/spacing-spanner.cc (musical_column_spacing): new
545 function. Have correct spacing from note to end-of-line as well.
547 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
549 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
551 * darwin.patch: New file.
553 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
554 code. Shorten stems by fraction of stems to be shortened.
556 * lily/stem.cc (get_default_stem_end_position): Shorten only half
557 of shorten value for boundary cases.
559 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
560 (Beam): Set beamed-stem-shorten to (1.0 0.5).
562 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
564 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
566 * scm/grob-description.scm (Beam): Add concaveness. Replace
567 Beam::cancel_suspect_slope with Beam::check_concave.
569 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
570 set slope to horizontal if concaveness > Beam.concaveness. This
571 handles cases that kludgy cancel_suspect_slope was meant to catch
573 (cancel_suspect_slope): Remove.
575 2002-03-12 Rune Zedeler <rune@zedeler.dk>
577 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc allow for
578 stemLeftBeamCount and stemRightBeamCount to equal 0.
581 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
583 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
584 fixed spacing for pref matter, if the next column is musical, and
587 * lily/note-spacing.cc (stem_dir_correction): Use correct
588 discretionary for stem-bar spacing.
590 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
592 * VERSION: 1.5.38 released
594 * lily/grob.cc (warning): Use cause tracking to give more
595 meaningful errors from the backend.
597 * lily/property-iterator.cc (check_grob): Warn if setting grob
598 property in unknown grob.
600 * mf/feta-toevallig.mf: brushed stems for natural sign.
602 * lily/molecule.cc (align_to): don't translate empty molecule.
603 (this triggers a very subtle bug in time-signature.)
605 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
607 * lily/spring.cc: remove file.
609 * input/regression/spacing-stem-bar.ly: new file
611 * lily/score.cc (run_translator): resurrect point-and-click
613 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
616 * lily/spacing-spanner.cc (find_shortest): Shortest note for
617 spacing is now globally determined, using the most common shortest
618 note. Notes that are shorter are spaced geometrically, and with
619 expand hints. This makes spacing more even, and measures that have
620 very short notes won't be that stretched out.
622 * mf/feta-klef.mf: F-clef fixes, documentation on the
623 shape. (WARNING: font changed.)
625 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
627 * lily/simple-spacer.cc (add_columns): support for infinitely
630 * lily/staff-spacing.cc (get_spacing_params): space after
631 prefatory matter is fixed.
633 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
635 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
636 barline following an upstem.
638 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
639 function from next_notes_correction().
640 (bar_y_positions): idem.
642 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
644 * input/regression/break.ly (texidoc): bugfix: escape \ in
647 * lily/staff-spacing.cc (next_notes_correction): Correct the
648 spacing of a note following a barline.
651 2002-03-04 Glen Prideaux
653 * mf/feta-solfa.mf: Shaped note heads
655 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
657 * VERSION: 1.5.37 released
659 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
662 * lily/break-align-interface.cc (do_alignment): completely
663 rewritten. Now it does not use Align_interface anymore, but a
664 separate routine. Like StaffSpacing, it reads space-alist from the
665 breakable grobs. This allows you to set spacing using
667 \property Staff.Clef \override #'space-alist = '(....stuff....)
669 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
670 to Bar_line. Move files around as well.
672 * lily/time-signature.cc (time_signature): left align time signatures.
674 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
675 Corrections of the glyph shape C. Comments added.
677 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
679 * lily/spacing-spanner.cc: move from third-try.cc; rename
680 Third_spacing_spanner to Spacing_spanner.
682 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
683 spacing stuff. Much cleaner now, and we prepare for neat spacing
684 tricks around bar lines and such.
686 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
687 variables with themselves. (Ouch.)
689 * lily/span-bar.cc (brew_molecule): don't try to span bars that
692 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
696 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
699 * lily/music.cc (ly_get_mus_property): typechecking
700 (ly_set_mus_property): idem
701 (ly_make_music): idem
702 (ly_music_name): idem
704 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
706 * lily/note-spacing.cc (stem_dir_correction): correction for
707 same stem notes as well.
709 * lily/pitch.cc (pitch_transpose): stricter typechecking
711 * mf/parmesan*mf: magnification fixes.
713 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
715 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
717 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
718 documenting the font. (Doesn't work for parmesan at the moment)
720 * Documentation/user/appendices.itely (The Feta font): Add list of
721 Feta font symbols with names.
723 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
726 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
728 * lily/translator-group.cc (ly_set_trans_property): typechecking
729 (ly_get_trans_property): typechecking.
731 * lily/font-metric.cc (ly_text_dimension): typechecking
732 (ly_find_glyph_by_name): idem.
734 * scm/bass-figure.scm (brew-complete-figure): support for
737 * lily/grob.cc (ly_get_paper_var): new function
739 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
741 * VERSION (PATCH_LEVEL): 1.5.35 released.
743 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
744 (bracket): New function.
746 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
747 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
749 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
752 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
755 * lily/grob.cc (ly_get_grob_property): be anal about types.
756 (ly_set_grob_property): idem
758 * lily/figured-bass-engraver.cc (process_music): move molecule
759 building completely to Scheme
761 * lily/include/musical-request.hh (class Bass_figure_req): Add
764 * lily/parser.yy (bass_figure): add support for space figure.
766 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
768 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
770 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
771 (ly_align_to_x): new function ly-align-to!
773 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
776 * mf/feta-nummer.mf: include normal-space dimension.
778 * lily/collision.cc (check_meshing_chords): don't merge collisions
781 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
784 2002-02-28 Mats Bengtsson <matsb@matsb@s3.kth.se>
786 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
788 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
790 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
793 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
796 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
797 scm/grob-description.scm: added mensural fermata symbol
799 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
801 * VERSION: 1.5.34 released.
803 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
805 * lily/staff-symbol-referencer.cc (callback): assume that
806 staff-position is unset in general.
808 * input/regression/rest-pitch.ly: new file.
810 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
813 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
815 * lily/scm-option.cc (set_lily_option): add internal-type-checks
816 as Scheme option. Run regression test by default with
817 internal-type-checking.
819 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
821 * lily/lily-guile.cc (type_check_assignment): changed functions.
823 * scm/*description*.scm: be anal about typechecks. Some changes
824 for internal variable names.
826 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
828 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
830 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
832 * VERSION: 1.5.33 released.
834 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
835 flare_path everywhere (c-clef, numbers).
837 * lily/bar-number-engraver.cc (process_music): also print bar
838 number if measure starts with grace note.
840 * input/regression/grace-bar-number.ly: new test.
842 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
844 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
847 * scm/music-functions.scm (voicify-music): split chords into
848 different voices automatically.
850 * lily/music.cc (ly_music_list_p): new function
852 * lily/music-sequence.cc (do_relative_octave): robustification
854 * scm/music-functions.scm: many utility functions
856 * lily/music.cc (ly_set_mus_property): add type checks to the
857 Scheme property assignment.
859 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
862 * mf/lilypond.map: .map file from Mats' page.
864 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
866 * Some more parmesan related fixes;
868 * Custos: varying shape (in particular, stem length), depending on the
869 vertical position of the custos (on staffline / between stafflines);
871 * Custos: added grob property "neutral-direction" (same semantics as
872 with stem); introduced new grob property "neutral-position";
874 * Time-signature: print a warning when resorting to default layout.
876 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
878 * lily/translator-group.cc (add_fresh_simple_translator): remove
879 function; initialize() is called through
880 Translator_group::initialize().
882 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
883 for the neighbors of a loose column.
885 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
886 position loose columns so that they don't collide.
888 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
890 * VERSION: 1.5.32 released.
892 * scm/font.scm: remove font-name symbol.
894 * mf/GNUmakefile: use pktrace for making PFAs
896 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
898 * lily/rest-collision.cc (do_shift): read direction field from
899 rest-column in case of note-rest collision. This should fix some
900 problems with rest collisions.
902 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
904 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
907 * lily/note-head.cc (brew_ez_molecule): Remove note-character
908 property. Read pitch directly from #'cause.
910 * mf/feta-puntje.mf: bugfix
912 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
914 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
916 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
918 * Documentation/windows/compiling.texi: Update.
920 * Documentation/index.texi: Add link to orphaned compiling for
923 * Documentation/footer.html.in: Comment fix.
925 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
927 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
929 * VERSION: 1.5.31 released
931 * lily/new-spacing-spanner.cc: remove file.
933 * lily/third-try.cc (do_measure): only take spacings into account
934 if they pertain to the column pair under consideration. This fixes
935 spacing bug when mixing eighths triplets and normal eighths.
937 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
938 lines don't take up space anymore. Document why in note-head.cc
941 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
943 * lily/font-interface.cc (get_font): reinstate
944 #'font-magnification. See input/regression/font-magnification.ly
945 (get_font): Change the definition of #'font-name grob property.
947 * lily/grob.cc (get_uncached_molecule): output origin for grobs
948 that have a #'cause field.
950 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
952 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
954 * mf/GNUmakefile: remove metapost stuff
956 * stepmake/aclocal.m4: remove metapost detection stuff.
958 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
960 * mf/GNUmakefile (FET_FILES):
961 (FONT_FILES): Include parmesan.
963 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
966 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
968 * Documentation/user/refman.itely (Paper size): Quote braces.
970 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
972 * stepmake/aclocal.m4: fixed bison version check to be more
975 * lily/stem.cc (position_noteheads): fix for cluster chords.
977 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
979 * python 2.2 support.
981 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
983 * VERSION: 1.5.30 released
985 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
987 * Documentation/user/refman.itely (Dynamics): add a note about
990 * scm/grob-description.scm: add a 'translator-type? object
991 property, so that \property Foo.Bar =\turnOff doesn't cause
994 * lily/translator-group.cc (add_fresh_group_translator): make
995 new add-translator functions to make distinction between fresh and
996 used group-translators. Fixes problem with scripts on auto-changing voice
998 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
999 add to Score_performer. Fixes bar checks in MIDI
1001 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1002 heads. Fixes many quirks with ties.
1004 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1005 in the grob property #'cause, instead of using Grob_info.
1007 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1008 staff context, fixing dot alignment on collisions.
1010 * lily/beam-engraver.cc (try_music): remove can't find beam start
1011 warning, so that skipTypesetting won't complain.
1013 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1015 * Documentation/user/refman.itely (Paper size): Documentation fix,
1018 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1020 * scm/grob-description.scm: \breathe: Use feta font comma by default
1022 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1024 * input/template/piano-dynamics.ly (pedal): Simplified
1026 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1028 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1030 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1032 * lilypond-mode.el (LilyPond-command-query): ignore case.
1034 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1036 * VERSION: 1.5.29 released
1038 * all files: change 2001 to 2002 in headers globally
1040 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1041 cheese") font. WARNING: fonts changed.
1043 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1045 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1047 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1049 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1051 * mf/*.mf: Fixed a few typos in various .mf files
1053 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1055 * mf/: added macro soft_penstroke
1057 softened some glyphs
1058 redrawn triangular noteheads
1060 added classical quarter rest
1062 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1064 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1065 lines and staff_space>=2
1067 * lily/rest.cc: Use default rests when current style glyphs not
1069 \property Staff.Rest \override #'style = #'classical
1071 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1073 * input/bugs/first-tie.ly: New file.
1075 * input/bugs/spacing-clash.ly: New file.
1077 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1081 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1083 * lilypond-indent.el: New file providing indentation for
1084 parenthesised blocks of lilypond code in Emacs
1086 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1087 indentation and handle block comments properly. Distinguish
1088 accents from close-brackets in fontification.
1090 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1092 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1094 * Documentation/windows/installing.texi:
1095 * Documentation/windows/compiling.texi: Include from 1.4.10.
1097 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1099 * input/bugs/first-midi-tie.ly: New file.
1101 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1103 * VERSION: 1.5.28 released
1105 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1106 illicit beams on [c4 c4] etc.
1108 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1109 file. Make separate iterator for Bar_checks. Bar_check now happen
1110 outside engravers, meaning that you can use them with
1111 skipTypesetting. Associated changes in other files.
1113 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1116 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1118 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1120 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1122 * lily/stem.cc (set_spacing_hints): removed function
1124 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1125 correction for spacing; now take vertical extents of the stem into
1128 * lily/third-try.cc: More hacking to get spacing working.
1130 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1131 sits at staff level and creates note spacing objects. Scrap it
1132 again, and document why.
1134 * lily/include/group-interface.hh: rename functions.
1136 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1138 * stepmake/stepmake/c++-rules.make:
1139 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1141 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1143 * make/lilypond-vars.make:
1144 * scripts/ly2dvi.py (setup_environment):
1145 * scripts/lilypond-book.py (setup_environment): Also set tex
1148 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1150 * VERSION: 1.5.27 released.
1152 * Documentation/user/refman.itely (Bar numbers): added bar number
1155 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1158 2001-12-22 Mats Bengtsson <matsb@matsb@s3.kth.se>
1160 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1161 spread the last few lines all over the last page of a score.
1163 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1165 * lily/third-try.cc: 3rd try at revising spacing
1166 engine. Not yet finished.
1168 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1171 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1172 collecting past note heads.
1174 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1177 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1178 class. Keep a queue of grobs that are still playing in busyGrobs.
1180 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1181 function. Use busyGrobs to detect playing notes.
1183 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1185 * Documentation/topdocs/INSTALL.texi: Added note about broken
1186 python-2.1. Updated note for Debian's broken (well, broken for
1187 our use anyway) tex configuration.
1189 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1191 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1192 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1194 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1195 (But left margin of png's still misses a few pixels. Arg.)
1197 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1199 * lilypond-mode.el (LilyPond-command-next-midi): Make
1200 possible to kill midi-process (using "C-c C-m").
1202 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1204 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1205 Convert strings with dimensions to numbers.
1207 * lily/volta-engraver.cc: only make a bracket for the top staff,
1208 as found in stavesFound.
1210 * lily/bar-number-engraver.cc: remove staff administration.
1212 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1213 administration. This breaks support for invisible-staff.
1215 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1216 symbols into stavesFound.
1218 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1219 grobs, and put them into columns.
1221 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1222 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1224 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1226 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1227 midi section in the Emacs-mode, so it is possible to play certain
1228 score in a multiscore lilypond-file.
1230 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1231 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1232 (FIXME: not accessible from guile)
1234 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1235 better support for Kurt Stone's suggestions.
1236 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1238 Changed property: localKeySignature.
1239 Added properties: extraNatural, autoAccidentals,
1242 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1244 * ly/property-init.ly: added commands
1245 \defaultAccidentals \modernAccidentals \modernCautionaries
1246 \noResetKey \forgetAccidentals
1248 * ly/engraver-init.ly: Correct initialization of new accidentals.
1250 * scm/translator-property-description.scm: The new properties
1253 * input/: Some examples added, some changed.
1255 * Documentation/regression-test.tely: Added quick test of new
1258 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1260 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1263 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1265 * lily/beam.cc (before_line_breaking): Make beams without stems
1266 or with only one stem disappear.
1268 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1270 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1271 files to have standardised HTML bibliography output. Update build
1272 docs to reflect this.
1274 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1275 active_count_, so that we don't have to look for active springs
1278 * scm/interface-description.scm,scm/grob-property-description.scm:
1281 * lily/simple-spacer.cc (solve): Handle forced line breaks
1282 here. Fixes problems when combining linebreaks with non-fitting
1285 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1287 * 1.4.9.jcn3 forward ports.
1289 * Really included .cvsignore.
1291 * Included Han-Wen's uu1 windows fixes.
1293 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1295 * Added Cygwin setup.hint
1297 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1298 tetex/texmf, python installations.
1300 * Updated cygwin installer.
1302 * ly2dvi: Don't accept filenames with spaces (+ fix).
1304 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1306 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1308 * lily/translator-def.cc: Remove manual symbol caching.
1310 * lily/script-column.cc (before_line_breaking): robustness check:
1311 don't crash if no direction set.
1313 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1315 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1319 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1321 * lily/note-head.cc (head_extent): added to compute width without
1322 ledger lines. By default, ledger lines take up width now.
1324 * input/regression/fingering.ly: demonstrate auto fingering.
1325 Horizontal placement is still buggy.
1327 * lily/fingering-engraver.cc (class Fingering_engraver):
1328 added. Provides support for horizontal fingering scripts
1330 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1332 * lily/side-position-interface.cc (add_staff_support): add staff
1333 only for Y-axis side positions.
1335 * lily/parser.yy (request_chord): Fix mem leak.
1337 * lily/musical-request.cc (transpose): moved to Music::transpose()
1339 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1340 can store grobs as grob-creation cause as well.
1342 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1343 handle when adding. Use precomputed symbols throughout lily.
1345 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1346 track of spacing issues.
1348 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1349 to keep track of staff spacing
1351 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1353 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1354 code clean from conditionals and have a concentrated sets of
1355 compatitility fixes for old guile versions.
1357 * Fixes for guile 1.4, including embedded ps.
1359 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1361 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1362 well for markup texts.
1364 * lily/musical-request.cc (length_mom): kludge for null pointer.
1366 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1368 * scm/lily.scm (sign): bugfix
1370 * CHANGES: Change log instated.
1372 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.