1 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
3 * input/regression/spacing-note-flags.ly: new file
5 * input/regression/spacing-rest.ly: new file
7 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
9 * lily/spacing-spanner.cc (note_spacing): make note spacing after
10 all grace notes tight (not only the column directly following a
13 * scm/grob-description.scm (all-grob-descriptions): don't make
14 mm-rests larger than normal.
16 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
17 curved. Remove white space at the right of flags.
19 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
21 * ports/ports.make: Bugfix: ignore CVS directories.
23 * stepmake/.cvsignore: New file.
25 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
27 * lily/note-spacing.cc (stem_dir_correction): don't correct when
28 there is a flag on the stem.
30 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
32 * scm/grob-property-description.scm (measure-length):
33 measure-length grob property.
35 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
36 better spacing for breakable columns when they're juxtaposed: use
37 measure length if applicable
39 * lily/timing-engraver.cc (start_translation_timestep): store
40 measure length in breakable column at start of measure.
42 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
44 * ROADMAP: Add description for ports dir, to check email upon
47 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
49 * VERSION: 1.5.48 released
51 * lily/multi-measure-rest.cc (symbol_molecule): split off from
53 (set_spacing_rods): Use symbol_molecule() to determine minimum
55 (church_rest): split off from brew_molecule()
56 (big_rest): split off from brew_molecule(). Construct using
59 * mf/feta-eindelijk.mf: junk multi measure rest.
61 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
63 * lily/multi-measure-rest.cc (add_column): remove columns property.
65 * lily/dynamic-engraver.cc (process_music): add more verbose warning
67 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
70 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
72 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
73 keywords covered, dropped some non-keywords, include R- and 128-notes
75 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
77 * Code clean-up: Junk multiple implementations of ledger line
78 creation in note_head, custos, and porrectus. This is important
79 since there soon will be some more applications of ledger lines to
80 come (e.g. ambitus engraver).
82 * Make thickness of ledger lines adjustable. This is essential
83 for mensural notation.
85 * Fix some bugs in the current ledger_line implementation, most
86 notably that of the horizontal extent of ledger lines which equals
87 at least the extent of the metafont ledger_line character, and
88 which grows(!) if the desired extent shrinks below this limit.
90 * roundfilledbox: variable blotdiameter
92 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
94 * VERSION: 1.5.47 released
96 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
98 * lily/porrectus.cc: change line-thickness to thickness, change
99 stem-direction to direction.
101 * scm/backend-documentation-lib.scm (check-dangling-properties):
102 Automatically detect doc'ed properties that are not in an interface
104 * scm/grob-property-description.scm: property cleanup. Remove many
105 paper-column props that are non-existent.
107 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
108 the grob has a molecule-callback.
110 * lily/*.cc: remove many set_interface() calls, and their
113 * input/regression/spacing-knee.ly: new file
115 * input/regression/spacing-clef-first-note.ly: new file
117 * lily/staff-spacing.cc (get_spacing_params): different spacing
118 for pref matter to note at start of line, halfway during line.
120 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
121 correction only if stems have same direction (i.e. not for
122 stem-clef combination).
123 (stem_dir_correction): maximal correction for knees.
125 * lily/*.cc: many updates to interface descriptions.
127 * lily/grob.cc (internal_set_grob_property): add interface check
128 for every set_grob_property call
130 * lily/*.cc: document interface stuff in C++
132 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
134 * lily/volta-bracket.cc: naming: change volta spanner to
137 * input/bugs/*.ly: cleanup, remove lots of files.
139 * buildscripts/mf-to-table.py (write_ps_encoding): generate
140 .encoding file. WARNING: upgrade to pktrace 1.0.3
142 * mf/feta-toevallig.mf: change PS name for parentheses.
144 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
146 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
149 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
151 * lily/scope.cc: remove file .
153 * lily/include/scope.hh: remove file. Remove Scope class
157 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
158 score_forbidden_quants): ): take out of SCM, pass parameters so
159 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
161 (calc_stem_y): robustness: take care of last_visible_stem == 0.
164 * lily/lily-guile.cc (ly_unit): return internal unit.
166 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
168 * lily/paper-outputter.cc (output_version): output internal unit
171 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
173 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
175 * scripts/ly2dvi.py: clean up old .*pk font caching code.
177 * scm/ps.scm: Use uppercase postscript font names for the standard
180 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
181 Add all available TeX Type1 fonts, including Feta, to the
182 Ghostscript font path.
184 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
185 version (affects the FontName) in lilypond.map.
187 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
188 documentation file to fetaNNlist.ly to avoid name collisions between
189 lilypond generated .tex file and font .tex macros file.
192 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
194 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
195 made mensural longa and (semi-)brevis leaner
197 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
199 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
200 clean-up: moved bezier shape and slope from porrectus to lookup
202 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
203 and /usr/share/texmf/fonts
205 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
207 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
209 * lily/text-spanner.cc (brew_molecule): add #'thickness
210 (brew_molecule): add corrections for thickness in molecule padding.
212 * lily/line-spanner.cc (line_atom): make function private
214 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
215 discover bounding box. This solves the cropping problem.
217 * lily/bar-check-iterator.cc (process): Only resynchronize bar
218 check when it fails. This fixes the combination of grace notes
221 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
223 * lily/repeated-music.cc (minimum_start): new Scheme callable function
224 (first_start): new Scheme callable. This will fix repeated music
225 starting with grace notes.
227 * lily/music.cc (start_mom): check start-moment-function grob property.
229 * VERSION: 1.5.45 released
231 * input/regression/system-extents.ly: new regression test. Test
234 * lily/system.cc: rename LineOfScore into System
236 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
238 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
239 (ly_get_extent): new Scheme function ly-get-extent
241 * ps/lilyponddefs.ps: use output-scale for line-x
244 * scm/ps.scm (font-load-command):
247 2002-03-20 Rune Zedeler <rune@zedeler.dk>
249 * lily/beaming-info.cc: Stupid typo fixed
251 * lily/accidental-engraver.cc: rewrote accidental-routines to get
252 support for cross-context auto-accidentals.
253 Now the engraver can stay in Staff-context and see other contexts
255 Changed properties: autoAccidentals, autoCautionaries
257 * lily/translator-group.cc (set_children_property):
258 Function added recursively setting the same property (deep_copied)
259 for all children of a Translator_group.
261 * ly/property-init.ly: added commands
262 \pianoAccidentals \voiceAccidentals
263 \modernVoiceAccidentals \modernVoiceCautionaries
265 * ly/engraver-init.ly: Correct initialization of new accidentals.
267 * scm/translator-property-description.scm: Updated
269 * input/regression/accidental-voice.ly: Added
271 * Documentation/regression-test.tely: Added new test
273 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
275 * VERSION: 1.5.44 released
277 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
279 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
281 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
284 * tex/feta*.tex: remove.
286 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
287 all software dealing with it.
289 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
291 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
292 (this fixes pdf output). Drop awk dependency.
294 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
295 dimensions (linewidth) are in mm.
297 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
299 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
301 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
303 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
305 * VERSION: 1.5.43 released
307 * scm/beam.scm (beam-dir-majority-median): if majority is
308 undecided, use median. Removes a forced dir in sarabande.
310 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
312 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
314 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
315 widths, heights and shortens are now customisable properties.
317 * scm/grob-description.scm, scm/grob-property-description.scm: New
318 properties added to PianoPedalBracket, unnecessary
319 Y-offset-callbacks removed from *Pedal, undocumented properties
322 * Documentation/user/refman.itely: Piano pedal updates.
324 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
326 * scm/grob-property-description.scm:
327 * scm/interface-description.scm: Remove old stuff.
329 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
330 0.48 (previously 0.42).
331 (Beam): Remove old stuff.
334 * lily/stem-tremolo.cc:
336 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
337 (previously space-function).
339 * stepmake/bin/add-html-footer.py: Website title fix.
341 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
343 * scripts/ly2dvi.py (environment): use new font searching setup.
345 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
347 * lily/tfm.cc (dimensions): make code dimension independent
349 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
352 * tex/lily-ps-defs.tex: scaling for PS points and MM.
354 * lily/include/dimensions.hh: try MM as internal unit.
356 * scm/*.scm: remove invoke-dim1
358 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
360 * GNUmakefile.in (fontpaths): add fontpaths target,
362 * make/mutopia-targets.make: add PDF rules.
364 * make/mutopia-rules.make: add pdf rule.
366 * buildscripts/mutopia-index.py (list_item): add PDF.
368 * buildscripts/lilypond-profile.sh (TEXMF): typo.
370 * make/lilypond-vars.make: set TEXMF for the new font setup.
372 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
374 * VERSION: 1.5.42 released
376 * mf/feta-schrift.mf: endless twiddling of Tr.
378 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
379 endless twiddling with the bulb shape.
381 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
382 little smaller if there is an accidental.
384 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
386 * buildscripts/lilypond-profile.sh:
388 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
389 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
390 Implement new font installation strategy
392 * Documentation/misc/fontinstallation (TEXMF): Documentation of
393 the new font installation strategy.
395 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
398 * input/test/staff-size.ly: Simplified using StaffContainer
400 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
403 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
405 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
407 * lily/beam.cc (score_stem_lengths): new quanting stuff
408 (score_forbidden_quants): Second and third beam quant stuff.
410 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
412 * lily/beam.cc (least_squares): Remember least-squares-dy for
414 (quantise_interval): Don't quant to dy steeper that
415 least-squares-dy. Return empty interval if no sane quants found.
416 (quantise_position): Try quantise_interval until we have
419 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
421 * scm/interface-description.scm (beam-interface): Update.
423 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
425 * VERSION: 1.5.41 released
427 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
428 optima serifs on top of t, bottom of r.
430 * mf/feta-bolletjes.mf: make ledger line rounder.
432 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
434 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
437 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
439 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
440 well as text pedal indications and a combination of both. All
441 pedal indications are horizontally aligned on a line spanner.
443 * lily/text-spanner.cc: Edge-width property added to use in
444 bracketed piano pedals. Function setup_sustain_pedal added to set
445 the dimensions of the brackets.
447 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
448 some of the *Pedal properties tweaked.
450 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
451 edge-width (TextSpanner) properties.
453 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
455 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
456 fontified identifiers list.
458 * input/test/pedal.ly: New pedal features added.
460 * Documentation/user/refman.itely: New pedal features documented.
463 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
465 * lily/include/new-beam.hh: Previously new-beam.hh
466 * lily/beam.cc: Previously new-beam.cc
467 (least_squares): Bugfix: don't barf on beams with less than two
468 visible stems (tremolos).
471 * scm/grob-description.scm (Beam): Junk old beam stuff.
474 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
478 * mf/feta-eindelijk.mf: new 8th rest.
480 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
481 stick out of staffline
483 * scripts/lilypond-book.py: fixes for texi regular expressions.
485 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
487 * lily/include/new-beam.hh:
488 * lily/new-beam.cc: New file.
490 * flower/include/interval.hh:
491 * flower/include/interval.tcc (delta): New method.
492 (swap): Now public (previously private).
494 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
495 1 staff-line-thickness. Sadly, this makes dy quanting problems
496 (dy quants allowed should depend on actual left y) more visible.
498 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
500 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
502 * scm/grob-property-description.scm (concaveness-threshold): Add
503 typecheck and description.
505 * scm/grob-description.scm (Beam): Remove obsolete properties, add
506 concaveness-threshold (previously concaveness).
508 * lily/beam.cc (check_concave): Remove choices and debugging
509 stuff: use best concaveness calculation.
510 (quantise_dy): Remove choice. Try to never make a slope steeper
511 by quantising, but certainly never quantise a slope away.
512 (check_stem_length_f): Remove choice. In case of lengthening
513 alowed, always lengthen to ideal length.
515 * Documentation/index.texi: Fix FAQ url.
517 * Documentation/topdocs/INSTALL.texi: Add information about fink,
518 compile fix and 1.4 specific fix that doesn't hurt 1.5.
520 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
522 * VERSION: 1.5.39 released
524 * lily/simple-spacer.cc (add_rod): rods take precedence over
525 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
527 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
529 * lily/note-spacing.cc (get_spacing): only insert space for
530 accidentals if necessary.
532 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
534 * lily/spacing-spanner.cc (musical_column_spacing): new
535 function. Have correct spacing from note to end-of-line as well.
537 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
539 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
541 * darwin.patch: New file.
543 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
544 code. Shorten stems by fraction of stems to be shortened.
546 * lily/stem.cc (get_default_stem_end_position): Shorten only half
547 of shorten value for boundary cases.
549 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
550 (Beam): Set beamed-stem-shorten to (1.0 0.5).
552 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
554 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
556 * scm/grob-description.scm (Beam): Add concaveness. Replace
557 Beam::cancel_suspect_slope with Beam::check_concave.
559 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
560 set slope to horizontal if concaveness > Beam.concaveness. This
561 handles cases that kludgy cancel_suspect_slope was meant to catch
563 (cancel_suspect_slope): Remove.
565 2002-03-12 Rune Zedeler <rune@zedeler.dk>
567 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc allow for
568 stemLeftBeamCount and stemRightBeamCount to equal 0.
571 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
573 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
574 fixed spacing for pref matter, if the next column is musical, and
577 * lily/note-spacing.cc (stem_dir_correction): Use correct
578 discretionary for stem-bar spacing.
580 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
582 * VERSION: 1.5.38 released
584 * lily/grob.cc (warning): Use cause tracking to give more
585 meaningful errors from the backend.
587 * lily/property-iterator.cc (check_grob): Warn if setting grob
588 property in unknown grob.
590 * mf/feta-toevallig.mf: brushed stems for natural sign.
592 * lily/molecule.cc (align_to): don't translate empty molecule.
593 (this triggers a very subtle bug in time-signature.)
595 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
597 * lily/spring.cc: remove file.
599 * input/regression/spacing-stem-bar.ly: new file
601 * lily/score.cc (run_translator): resurrect point-and-click
603 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
606 * lily/spacing-spanner.cc (find_shortest): Shortest note for
607 spacing is now globally determined, using the most common shortest
608 note. Notes that are shorter are spaced geometrically, and with
609 expand hints. This makes spacing more even, and measures that have
610 very short notes won't be that stretched out.
612 * mf/feta-klef.mf: F-clef fixes, documentation on the
613 shape. (WARNING: font changed.)
615 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
617 * lily/simple-spacer.cc (add_columns): support for infinitely
620 * lily/staff-spacing.cc (get_spacing_params): space after
621 prefatory matter is fixed.
623 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
625 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
626 barline following an upstem.
628 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
629 function from next_notes_correction().
630 (bar_y_positions): idem.
632 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
634 * input/regression/break.ly (texidoc): bugfix: escape \ in
637 * lily/staff-spacing.cc (next_notes_correction): Correct the
638 spacing of a note following a barline.
641 2002-03-04 Glen Prideaux
643 * mf/feta-solfa.mf: Shaped note heads
645 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
647 * VERSION: 1.5.37 released
649 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
652 * lily/break-align-interface.cc (do_alignment): completely
653 rewritten. Now it does not use Align_interface anymore, but a
654 separate routine. Like StaffSpacing, it reads space-alist from the
655 breakable grobs. This allows you to set spacing using
657 \property Staff.Clef \override #'space-alist = '(....stuff....)
659 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
660 to Bar_line. Move files around as well.
662 * lily/time-signature.cc (time_signature): left align time signatures.
664 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
665 Corrections of the glyph shape C. Comments added.
667 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
669 * lily/spacing-spanner.cc: move from third-try.cc; rename
670 Third_spacing_spanner to Spacing_spanner.
672 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
673 spacing stuff. Much cleaner now, and we prepare for neat spacing
674 tricks around bar lines and such.
676 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
677 variables with themselves. (Ouch.)
679 * lily/span-bar.cc (brew_molecule): don't try to span bars that
682 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
686 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
689 * lily/music.cc (ly_get_mus_property): typechecking
690 (ly_set_mus_property): idem
691 (ly_make_music): idem
692 (ly_music_name): idem
694 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
696 * lily/note-spacing.cc (stem_dir_correction): correction for
697 same stem notes as well.
699 * lily/pitch.cc (pitch_transpose): stricter typechecking
701 * mf/parmesan*mf: magnification fixes.
703 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
705 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
707 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
708 documenting the font. (Doesn't work for parmesan at the moment)
710 * Documentation/user/appendices.itely (The Feta font): Add list of
711 Feta font symbols with names.
713 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
716 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
718 * lily/translator-group.cc (ly_set_trans_property): typechecking
719 (ly_get_trans_property): typechecking.
721 * lily/font-metric.cc (ly_text_dimension): typechecking
722 (ly_find_glyph_by_name): idem.
724 * scm/bass-figure.scm (brew-complete-figure): support for
727 * lily/grob.cc (ly_get_paper_var): new function
729 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
731 * VERSION (PATCH_LEVEL): 1.5.35 released.
733 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
734 (bracket): New function.
736 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
737 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
739 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
742 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
745 * lily/grob.cc (ly_get_grob_property): be anal about types.
746 (ly_set_grob_property): idem
748 * lily/figured-bass-engraver.cc (process_music): move molecule
749 building completely to Scheme
751 * lily/include/musical-request.hh (class Bass_figure_req): Add
754 * lily/parser.yy (bass_figure): add support for space figure.
756 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
758 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
760 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
761 (ly_align_to_x): new function ly-align-to!
763 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
766 * mf/feta-nummer.mf: include normal-space dimension.
768 * lily/collision.cc (check_meshing_chords): don't merge collisions
771 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
774 2002-02-28 Mats Bengtsson <matsb@matsb@s3.kth.se>
776 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
778 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
780 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
783 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
786 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
787 scm/grob-description.scm: added mensural fermata symbol
789 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
791 * VERSION: 1.5.34 released.
793 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
795 * lily/staff-symbol-referencer.cc (callback): assume that
796 staff-position is unset in general.
798 * input/regression/rest-pitch.ly: new file.
800 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
803 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
805 * lily/scm-option.cc (set_lily_option): add internal-type-checks
806 as Scheme option. Run regression test by default with
807 internal-type-checking.
809 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
811 * lily/lily-guile.cc (type_check_assignment): changed functions.
813 * scm/*description*.scm: be anal about typechecks. Some changes
814 for internal variable names.
816 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
818 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
820 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
822 * VERSION: 1.5.33 released.
824 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
825 flare_path everywhere (c-clef, numbers).
827 * lily/bar-number-engraver.cc (process_music): also print bar
828 number if measure starts with grace note.
830 * input/regression/grace-bar-number.ly: new test.
832 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
834 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
837 * scm/music-functions.scm (voicify-music): split chords into
838 different voices automatically.
840 * lily/music.cc (ly_music_list_p): new function
842 * lily/music-sequence.cc (do_relative_octave): robustification
844 * scm/music-functions.scm: many utility functions
846 * lily/music.cc (ly_set_mus_property): add type checks to the
847 Scheme property assignment.
849 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
852 * mf/lilypond.map: .map file from Mats' page.
854 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
856 * Some more parmesan related fixes;
858 * Custos: varying shape (in particular, stem length), depending on the
859 vertical position of the custos (on staffline / between stafflines);
861 * Custos: added grob property "neutral-direction" (same semantics as
862 with stem); introduced new grob property "neutral-position";
864 * Time-signature: print a warning when resorting to default layout.
866 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
868 * lily/translator-group.cc (add_fresh_simple_translator): remove
869 function; initialize() is called through
870 Translator_group::initialize().
872 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
873 for the neighbors of a loose column.
875 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
876 position loose columns so that they don't collide.
878 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
880 * VERSION: 1.5.32 released.
882 * scm/font.scm: remove font-name symbol.
884 * mf/GNUmakefile: use pktrace for making PFAs
886 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
888 * lily/rest-collision.cc (do_shift): read direction field from
889 rest-column in case of note-rest collision. This should fix some
890 problems with rest collisions.
892 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
894 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
897 * lily/note-head.cc (brew_ez_molecule): Remove note-character
898 property. Read pitch directly from #'cause.
900 * mf/feta-puntje.mf: bugfix
902 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
904 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
906 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
908 * Documentation/windows/compiling.texi: Update.
910 * Documentation/index.texi: Add link to orphaned compiling for
913 * Documentation/footer.html.in: Comment fix.
915 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
917 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
919 * VERSION: 1.5.31 released
921 * lily/new-spacing-spanner.cc: remove file.
923 * lily/third-try.cc (do_measure): only take spacings into account
924 if they pertain to the column pair under consideration. This fixes
925 spacing bug when mixing eighths triplets and normal eighths.
927 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
928 lines don't take up space anymore. Document why in note-head.cc
931 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
933 * lily/font-interface.cc (get_font): reinstate
934 #'font-magnification. See input/regression/font-magnification.ly
935 (get_font): Change the definition of #'font-name grob property.
937 * lily/grob.cc (get_uncached_molecule): output origin for grobs
938 that have a #'cause field.
940 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
942 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
944 * mf/GNUmakefile: remove metapost stuff
946 * stepmake/aclocal.m4: remove metapost detection stuff.
948 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
950 * mf/GNUmakefile (FET_FILES):
951 (FONT_FILES): Include parmesan.
953 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
956 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
958 * Documentation/user/refman.itely (Paper size): Quote braces.
960 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
962 * stepmake/aclocal.m4: fixed bison version check to be more
965 * lily/stem.cc (position_noteheads): fix for cluster chords.
967 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
969 * python 2.2 support.
971 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
973 * VERSION: 1.5.30 released
975 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
977 * Documentation/user/refman.itely (Dynamics): add a note about
980 * scm/grob-description.scm: add a 'translator-type? object
981 property, so that \property Foo.Bar =\turnOff doesn't cause
984 * lily/translator-group.cc (add_fresh_group_translator): make
985 new add-translator functions to make distinction between fresh and
986 used group-translators. Fixes problem with scripts on auto-changing voice
988 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
989 add to Score_performer. Fixes bar checks in MIDI
991 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
992 heads. Fixes many quirks with ties.
994 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
995 in the grob property #'cause, instead of using Grob_info.
997 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
998 staff context, fixing dot alignment on collisions.
1000 * lily/beam-engraver.cc (try_music): remove can't find beam start
1001 warning, so that skipTypesetting won't complain.
1003 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1005 * Documentation/user/refman.itely (Paper size): Documentation fix,
1008 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1010 * scm/grob-description.scm: \breathe: Use feta font comma by default
1012 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1014 * input/template/piano-dynamics.ly (pedal): Simplified
1016 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1018 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1020 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1022 * lilypond-mode.el (LilyPond-command-query): ignore case.
1024 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1026 * VERSION: 1.5.29 released
1028 * all files: change 2001 to 2002 in headers globally
1030 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1031 cheese") font. WARNING: fonts changed.
1033 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1035 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1037 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1039 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1041 * mf/*.mf: Fixed a few typos in various .mf files
1043 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1045 * mf/: added macro soft_penstroke
1047 softened some glyphs
1048 redrawn triangular noteheads
1050 added classical quarter rest
1052 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1054 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1055 lines and staff_space>=2
1057 * lily/rest.cc: Use default rests when current style glyphs not
1059 \property Staff.Rest \override #'style = #'classical
1061 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1063 * input/bugs/first-tie.ly: New file.
1065 * input/bugs/spacing-clash.ly: New file.
1067 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1071 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1073 * lilypond-indent.el: New file providing indentation for
1074 parenthesised blocks of lilypond code in Emacs
1076 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1077 indentation and handle block comments properly. Distinguish
1078 accents from close-brackets in fontification.
1080 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1082 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1084 * Documentation/windows/installing.texi:
1085 * Documentation/windows/compiling.texi: Include from 1.4.10.
1087 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1089 * input/bugs/first-midi-tie.ly: New file.
1091 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1093 * VERSION: 1.5.28 released
1095 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1096 illicit beams on [c4 c4] etc.
1098 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1099 file. Make separate iterator for Bar_checks. Bar_check now happen
1100 outside engravers, meaning that you can use them with
1101 skipTypesetting. Associated changes in other files.
1103 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1106 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1108 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1110 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1112 * lily/stem.cc (set_spacing_hints): removed function
1114 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1115 correction for spacing; now take vertical extents of the stem into
1118 * lily/third-try.cc: More hacking to get spacing working.
1120 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1121 sits at staff level and creates note spacing objects. Scrap it
1122 again, and document why.
1124 * lily/include/group-interface.hh: rename functions.
1126 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1128 * stepmake/stepmake/c++-rules.make:
1129 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1131 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1133 * make/lilypond-vars.make:
1134 * scripts/ly2dvi.py (setup_environment):
1135 * scripts/lilypond-book.py (setup_environment): Also set tex
1138 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1140 * VERSION: 1.5.27 released.
1142 * Documentation/user/refman.itely (Bar numbers): added bar number
1145 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1148 2001-12-22 Mats Bengtsson <matsb@matsb@s3.kth.se>
1150 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1151 spread the last few lines all over the last page of a score.
1153 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1155 * lily/third-try.cc: 3rd try at revising spacing
1156 engine. Not yet finished.
1158 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1161 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1162 collecting past note heads.
1164 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1167 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1168 class. Keep a queue of grobs that are still playing in busyGrobs.
1170 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1171 function. Use busyGrobs to detect playing notes.
1173 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1175 * Documentation/topdocs/INSTALL.texi: Added note about broken
1176 python-2.1. Updated note for Debian's broken (well, broken for
1177 our use anyway) tex configuration.
1179 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1181 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1182 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1184 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1185 (But left margin of png's still misses a few pixels. Arg.)
1187 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1189 * lilypond-mode.el (LilyPond-command-next-midi): Make
1190 possible to kill midi-process (using "C-c C-m").
1192 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1194 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1195 Convert strings with dimensions to numbers.
1197 * lily/volta-engraver.cc: only make a bracket for the top staff,
1198 as found in stavesFound.
1200 * lily/bar-number-engraver.cc: remove staff administration.
1202 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1203 administration. This breaks support for invisible-staff.
1205 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1206 symbols into stavesFound.
1208 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1209 grobs, and put them into columns.
1211 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1212 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1214 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1216 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1217 midi section in the Emacs-mode, so it is possible to play certain
1218 score in a multiscore lilypond-file.
1220 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1221 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1222 (FIXME: not accessible from guile)
1224 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1225 better support for Kurt Stone's suggestions.
1226 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1228 Changed property: localKeySignature.
1229 Added properties: extraNatural, autoAccidentals,
1232 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1234 * ly/property-init.ly: added commands
1235 \defaultAccidentals \modernAccidentals \modernCautionaries
1236 \noResetKey \forgetAccidentals
1238 * ly/engraver-init.ly: Correct initialization of new accidentals.
1240 * scm/translator-property-description.scm: The new properties
1243 * input/: Some examples added, some changed.
1245 * Documentation/regression-test.tely: Added quick test of new
1248 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1250 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1253 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1255 * lily/beam.cc (before_line_breaking): Make beams without stems
1256 or with only one stem disappear.
1258 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1260 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1261 files to have standardised HTML bibliography output. Update build
1262 docs to reflect this.
1264 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1265 active_count_, so that we don't have to look for active springs
1268 * scm/interface-description.scm,scm/grob-property-description.scm:
1271 * lily/simple-spacer.cc (solve): Handle forced line breaks
1272 here. Fixes problems when combining linebreaks with non-fitting
1275 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1277 * 1.4.9.jcn3 forward ports.
1279 * Really included .cvsignore.
1281 * Included Han-Wen's uu1 windows fixes.
1283 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1285 * Added Cygwin setup.hint
1287 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1288 tetex/texmf, python installations.
1290 * Updated cygwin installer.
1292 * ly2dvi: Don't accept filenames with spaces (+ fix).
1294 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1296 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1298 * lily/translator-def.cc: Remove manual symbol caching.
1300 * lily/script-column.cc (before_line_breaking): robustness check:
1301 don't crash if no direction set.
1303 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1305 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1309 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1311 * lily/note-head.cc (head_extent): added to compute width without
1312 ledger lines. By default, ledger lines take up width now.
1314 * input/regression/fingering.ly: demonstrate auto fingering.
1315 Horizontal placement is still buggy.
1317 * lily/fingering-engraver.cc (class Fingering_engraver):
1318 added. Provides support for horizontal fingering scripts
1320 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1322 * lily/side-position-interface.cc (add_staff_support): add staff
1323 only for Y-axis side positions.
1325 * lily/parser.yy (request_chord): Fix mem leak.
1327 * lily/musical-request.cc (transpose): moved to Music::transpose()
1329 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1330 can store grobs as grob-creation cause as well.
1332 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1333 handle when adding. Use precomputed symbols throughout lily.
1335 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1336 track of spacing issues.
1338 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1339 to keep track of staff spacing
1341 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1343 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1344 code clean from conditionals and have a concentrated sets of
1345 compatitility fixes for old guile versions.
1347 * Fixes for guile 1.4, including embedded ps.
1349 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1351 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1352 well for markup texts.
1354 * lily/musical-request.cc (length_mom): kludge for null pointer.
1356 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1358 * scm/lily.scm (sign): bugfix
1360 * CHANGES: Change log instated.
1362 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.