1 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
3 * input/regression/beam-concave.ly: Add to-be-considered-concave
6 * lily/beam.cc (check_concave): Add check for large gap between an
7 inner notehead and the line through outer noteheads.
9 * scm/grob-description.scm (Beam): Add concaveness-gap, default
10 value 2.0 staff-space.
12 * scm/grob-property-description.scm (concaveness-gap): Add
15 2002-03-31 Jan Nieuwenhuizen <janneke@gnu.org>
17 * input/mozart-hrn3-allegro.ly: Fix typo.
19 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
21 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
22 lily/note-head-engraver: improved implementation of roundfilledbox
23 (according to Han-Wen's request)
25 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
26 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
27 lily/simple-spacer.cc: ragged-right alignment
29 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
31 * input/regression/spacing-note-flags.ly: new file
33 * input/regression/spacing-rest.ly: new file
35 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
37 * lily/spacing-spanner.cc (note_spacing): make note spacing after
38 all grace notes tight (not only the column directly following a
41 * scm/grob-description.scm (all-grob-descriptions): don't make
42 mm-rests larger than normal.
44 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
45 curved. Remove white space at the right of flags.
47 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
49 * ports/ports.make: Bugfix: ignore CVS directories.
51 * stepmake/.cvsignore: New file.
53 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
55 * lily/note-spacing.cc (stem_dir_correction): don't correct when
56 there is a flag on the stem.
58 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
60 * scm/grob-property-description.scm (measure-length):
61 measure-length grob property.
63 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
64 better spacing for breakable columns when they're juxtaposed: use
65 measure length if applicable
67 * lily/timing-engraver.cc (start_translation_timestep): store
68 measure length in breakable column at start of measure.
70 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
72 * ROADMAP: Add description for ports dir, to check email upon
75 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
77 * VERSION: 1.5.48 released
79 * lily/multi-measure-rest.cc (symbol_molecule): split off from
81 (set_spacing_rods): Use symbol_molecule() to determine minimum
83 (church_rest): split off from brew_molecule()
84 (big_rest): split off from brew_molecule(). Construct using
87 * mf/feta-eindelijk.mf: junk multi measure rest.
89 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
91 * lily/multi-measure-rest.cc (add_column): remove columns property.
93 * lily/dynamic-engraver.cc (process_music): add more verbose warning
95 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
98 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
100 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
101 keywords covered, dropped some non-keywords, include R- and 128-notes
103 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
105 * Code clean-up: Junk multiple implementations of ledger line
106 creation in note_head, custos, and porrectus. This is important
107 since there soon will be some more applications of ledger lines to
108 come (e.g. ambitus engraver).
110 * Make thickness of ledger lines adjustable. This is essential
111 for mensural notation.
113 * Fix some bugs in the current ledger_line implementation, most
114 notably that of the horizontal extent of ledger lines which equals
115 at least the extent of the metafont ledger_line character, and
116 which grows(!) if the desired extent shrinks below this limit.
118 * roundfilledbox: variable blotdiameter
120 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
122 * VERSION: 1.5.47 released
124 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
126 * lily/porrectus.cc: change line-thickness to thickness, change
127 stem-direction to direction.
129 * scm/backend-documentation-lib.scm (check-dangling-properties):
130 Automatically detect doc'ed properties that are not in an interface
132 * scm/grob-property-description.scm: property cleanup. Remove many
133 paper-column props that are non-existent.
135 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
136 the grob has a molecule-callback.
138 * lily/*.cc: remove many set_interface() calls, and their
141 * input/regression/spacing-knee.ly: new file
143 * input/regression/spacing-clef-first-note.ly: new file
145 * lily/staff-spacing.cc (get_spacing_params): different spacing
146 for pref matter to note at start of line, halfway during line.
148 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
149 correction only if stems have same direction (i.e. not for
150 stem-clef combination).
151 (stem_dir_correction): maximal correction for knees.
153 * lily/*.cc: many updates to interface descriptions.
155 * lily/grob.cc (internal_set_grob_property): add interface check
156 for every set_grob_property call
158 * lily/*.cc: document interface stuff in C++
160 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
162 * lily/volta-bracket.cc: naming: change volta spanner to
165 * input/bugs/*.ly: cleanup, remove lots of files.
167 * buildscripts/mf-to-table.py (write_ps_encoding): generate
168 .encoding file. WARNING: upgrade to pktrace 1.0.3
170 * mf/feta-toevallig.mf: change PS name for parentheses.
172 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
174 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
177 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
179 * lily/scope.cc: remove file .
181 * lily/include/scope.hh: remove file. Remove Scope class
185 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
186 score_forbidden_quants): ): take out of SCM, pass parameters so
187 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
189 (calc_stem_y): robustness: take care of last_visible_stem == 0.
192 * lily/lily-guile.cc (ly_unit): return internal unit.
194 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
196 * lily/paper-outputter.cc (output_version): output internal unit
199 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
201 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
203 * scripts/ly2dvi.py: clean up old .*pk font caching code.
205 * scm/ps.scm: Use uppercase postscript font names for the standard
208 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
209 Add all available TeX Type1 fonts, including Feta, to the
210 Ghostscript font path.
212 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
213 version (affects the FontName) in lilypond.map.
215 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
216 documentation file to fetaNNlist.ly to avoid name collisions between
217 lilypond generated .tex file and font .tex macros file.
220 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
222 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
223 made mensural longa and (semi-)brevis leaner
225 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
227 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
228 clean-up: moved bezier shape and slope from porrectus to lookup
230 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
231 and /usr/share/texmf/fonts
233 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
235 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
237 * lily/text-spanner.cc (brew_molecule): add #'thickness
238 (brew_molecule): add corrections for thickness in molecule padding.
240 * lily/line-spanner.cc (line_atom): make function private
242 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
243 discover bounding box. This solves the cropping problem.
245 * lily/bar-check-iterator.cc (process): Only resynchronize bar
246 check when it fails. This fixes the combination of grace notes
249 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
251 * lily/repeated-music.cc (minimum_start): new Scheme callable function
252 (first_start): new Scheme callable. This will fix repeated music
253 starting with grace notes.
255 * lily/music.cc (start_mom): check start-moment-function grob property.
257 * VERSION: 1.5.45 released
259 * input/regression/system-extents.ly: new regression test. Test
262 * lily/system.cc: rename LineOfScore into System
264 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
266 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
267 (ly_get_extent): new Scheme function ly-get-extent
269 * ps/lilyponddefs.ps: use output-scale for line-x
272 * scm/ps.scm (font-load-command):
275 2002-03-20 Rune Zedeler <rune@zedeler.dk>
277 * lily/beaming-info.cc: Stupid typo fixed
279 * lily/accidental-engraver.cc: rewrote accidental-routines to get
280 support for cross-context auto-accidentals.
281 Now the engraver can stay in Staff-context and see other contexts
283 Changed properties: autoAccidentals, autoCautionaries
285 * lily/translator-group.cc (set_children_property):
286 Function added recursively setting the same property (deep_copied)
287 for all children of a Translator_group.
289 * ly/property-init.ly: added commands
290 \pianoAccidentals \voiceAccidentals
291 \modernVoiceAccidentals \modernVoiceCautionaries
293 * ly/engraver-init.ly: Correct initialization of new accidentals.
295 * scm/translator-property-description.scm: Updated
297 * input/regression/accidental-voice.ly: Added
299 * Documentation/regression-test.tely: Added new test
301 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
303 * VERSION: 1.5.44 released
305 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
307 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
309 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
312 * tex/feta*.tex: remove.
314 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
315 all software dealing with it.
317 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
319 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
320 (this fixes pdf output). Drop awk dependency.
322 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
323 dimensions (linewidth) are in mm.
325 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
327 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
329 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
331 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
333 * VERSION: 1.5.43 released
335 * scm/beam.scm (beam-dir-majority-median): if majority is
336 undecided, use median. Removes a forced dir in sarabande.
338 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
340 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
342 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
343 widths, heights and shortens are now customisable properties.
345 * scm/grob-description.scm, scm/grob-property-description.scm: New
346 properties added to PianoPedalBracket, unnecessary
347 Y-offset-callbacks removed from *Pedal, undocumented properties
350 * Documentation/user/refman.itely: Piano pedal updates.
352 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
354 * scm/grob-property-description.scm:
355 * scm/interface-description.scm: Remove old stuff.
357 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
358 0.48 (previously 0.42).
359 (Beam): Remove old stuff.
362 * lily/stem-tremolo.cc:
364 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
365 (previously space-function).
367 * stepmake/bin/add-html-footer.py: Website title fix.
369 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
371 * scripts/ly2dvi.py (environment): use new font searching setup.
373 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
375 * lily/tfm.cc (dimensions): make code dimension independent
377 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
380 * tex/lily-ps-defs.tex: scaling for PS points and MM.
382 * lily/include/dimensions.hh: try MM as internal unit.
384 * scm/*.scm: remove invoke-dim1
386 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
388 * GNUmakefile.in (fontpaths): add fontpaths target,
390 * make/mutopia-targets.make: add PDF rules.
392 * make/mutopia-rules.make: add pdf rule.
394 * buildscripts/mutopia-index.py (list_item): add PDF.
396 * buildscripts/lilypond-profile.sh (TEXMF): typo.
398 * make/lilypond-vars.make: set TEXMF for the new font setup.
400 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
402 * VERSION: 1.5.42 released
404 * mf/feta-schrift.mf: endless twiddling of Tr.
406 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
407 endless twiddling with the bulb shape.
409 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
410 little smaller if there is an accidental.
412 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
414 * buildscripts/lilypond-profile.sh:
416 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
417 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
418 Implement new font installation strategy
420 * Documentation/misc/fontinstallation (TEXMF): Documentation of
421 the new font installation strategy.
423 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
426 * input/test/staff-size.ly: Simplified using StaffContainer
428 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
431 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
433 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
435 * lily/beam.cc (score_stem_lengths): new quanting stuff
436 (score_forbidden_quants): Second and third beam quant stuff.
438 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
440 * lily/beam.cc (least_squares): Remember least-squares-dy for
442 (quantise_interval): Don't quant to dy steeper that
443 least-squares-dy. Return empty interval if no sane quants found.
444 (quantise_position): Try quantise_interval until we have
447 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
449 * scm/interface-description.scm (beam-interface): Update.
451 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
453 * VERSION: 1.5.41 released
455 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
456 optima serifs on top of t, bottom of r.
458 * mf/feta-bolletjes.mf: make ledger line rounder.
460 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
462 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
465 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
467 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
468 well as text pedal indications and a combination of both. All
469 pedal indications are horizontally aligned on a line spanner.
471 * lily/text-spanner.cc: Edge-width property added to use in
472 bracketed piano pedals. Function setup_sustain_pedal added to set
473 the dimensions of the brackets.
475 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
476 some of the *Pedal properties tweaked.
478 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
479 edge-width (TextSpanner) properties.
481 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
483 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
484 fontified identifiers list.
486 * input/test/pedal.ly: New pedal features added.
488 * Documentation/user/refman.itely: New pedal features documented.
491 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
493 * lily/include/new-beam.hh: Previously new-beam.hh
494 * lily/beam.cc: Previously new-beam.cc
495 (least_squares): Bugfix: don't barf on beams with less than two
496 visible stems (tremolos).
499 * scm/grob-description.scm (Beam): Junk old beam stuff.
502 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
506 * mf/feta-eindelijk.mf: new 8th rest.
508 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
509 stick out of staffline
511 * scripts/lilypond-book.py: fixes for texi regular expressions.
513 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
515 * lily/include/new-beam.hh:
516 * lily/new-beam.cc: New file.
518 * flower/include/interval.hh:
519 * flower/include/interval.tcc (delta): New method.
520 (swap): Now public (previously private).
522 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
523 1 staff-line-thickness. Sadly, this makes dy quanting problems
524 (dy quants allowed should depend on actual left y) more visible.
526 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
528 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
530 * scm/grob-property-description.scm (concaveness-threshold): Add
531 typecheck and description.
533 * scm/grob-description.scm (Beam): Remove obsolete properties, add
534 concaveness-threshold (previously concaveness).
536 * lily/beam.cc (check_concave): Remove choices and debugging
537 stuff: use best concaveness calculation.
538 (quantise_dy): Remove choice. Try to never make a slope steeper
539 by quantising, but certainly never quantise a slope away.
540 (check_stem_length_f): Remove choice. In case of lengthening
541 alowed, always lengthen to ideal length.
543 * Documentation/index.texi: Fix FAQ url.
545 * Documentation/topdocs/INSTALL.texi: Add information about fink,
546 compile fix and 1.4 specific fix that doesn't hurt 1.5.
548 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
550 * VERSION: 1.5.39 released
552 * lily/simple-spacer.cc (add_rod): rods take precedence over
553 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
555 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
557 * lily/note-spacing.cc (get_spacing): only insert space for
558 accidentals if necessary.
560 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
562 * lily/spacing-spanner.cc (musical_column_spacing): new
563 function. Have correct spacing from note to end-of-line as well.
565 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
567 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
569 * darwin.patch: New file.
571 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
572 code. Shorten stems by fraction of stems to be shortened.
574 * lily/stem.cc (get_default_stem_end_position): Shorten only half
575 of shorten value for boundary cases.
577 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
578 (Beam): Set beamed-stem-shorten to (1.0 0.5).
580 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
582 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
584 * scm/grob-description.scm (Beam): Add concaveness. Replace
585 Beam::cancel_suspect_slope with Beam::check_concave.
587 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
588 set slope to horizontal if concaveness > Beam.concaveness. This
589 handles cases that kludgy cancel_suspect_slope was meant to catch
591 (cancel_suspect_slope): Remove.
593 2002-03-12 Rune Zedeler <rune@zedeler.dk>
595 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc allow for
596 stemLeftBeamCount and stemRightBeamCount to equal 0.
599 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
601 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
602 fixed spacing for pref matter, if the next column is musical, and
605 * lily/note-spacing.cc (stem_dir_correction): Use correct
606 discretionary for stem-bar spacing.
608 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
610 * VERSION: 1.5.38 released
612 * lily/grob.cc (warning): Use cause tracking to give more
613 meaningful errors from the backend.
615 * lily/property-iterator.cc (check_grob): Warn if setting grob
616 property in unknown grob.
618 * mf/feta-toevallig.mf: brushed stems for natural sign.
620 * lily/molecule.cc (align_to): don't translate empty molecule.
621 (this triggers a very subtle bug in time-signature.)
623 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
625 * lily/spring.cc: remove file.
627 * input/regression/spacing-stem-bar.ly: new file
629 * lily/score.cc (run_translator): resurrect point-and-click
631 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
634 * lily/spacing-spanner.cc (find_shortest): Shortest note for
635 spacing is now globally determined, using the most common shortest
636 note. Notes that are shorter are spaced geometrically, and with
637 expand hints. This makes spacing more even, and measures that have
638 very short notes won't be that stretched out.
640 * mf/feta-klef.mf: F-clef fixes, documentation on the
641 shape. (WARNING: font changed.)
643 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
645 * lily/simple-spacer.cc (add_columns): support for infinitely
648 * lily/staff-spacing.cc (get_spacing_params): space after
649 prefatory matter is fixed.
651 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
653 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
654 barline following an upstem.
656 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
657 function from next_notes_correction().
658 (bar_y_positions): idem.
660 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
662 * input/regression/break.ly (texidoc): bugfix: escape \ in
665 * lily/staff-spacing.cc (next_notes_correction): Correct the
666 spacing of a note following a barline.
669 2002-03-04 Glen Prideaux
671 * mf/feta-solfa.mf: Shaped note heads
673 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
675 * VERSION: 1.5.37 released
677 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
680 * lily/break-align-interface.cc (do_alignment): completely
681 rewritten. Now it does not use Align_interface anymore, but a
682 separate routine. Like StaffSpacing, it reads space-alist from the
683 breakable grobs. This allows you to set spacing using
685 \property Staff.Clef \override #'space-alist = '(....stuff....)
687 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
688 to Bar_line. Move files around as well.
690 * lily/time-signature.cc (time_signature): left align time signatures.
692 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
693 Corrections of the glyph shape C. Comments added.
695 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
697 * lily/spacing-spanner.cc: move from third-try.cc; rename
698 Third_spacing_spanner to Spacing_spanner.
700 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
701 spacing stuff. Much cleaner now, and we prepare for neat spacing
702 tricks around bar lines and such.
704 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
705 variables with themselves. (Ouch.)
707 * lily/span-bar.cc (brew_molecule): don't try to span bars that
710 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
714 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
717 * lily/music.cc (ly_get_mus_property): typechecking
718 (ly_set_mus_property): idem
719 (ly_make_music): idem
720 (ly_music_name): idem
722 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
724 * lily/note-spacing.cc (stem_dir_correction): correction for
725 same stem notes as well.
727 * lily/pitch.cc (pitch_transpose): stricter typechecking
729 * mf/parmesan*mf: magnification fixes.
731 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
733 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
735 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
736 documenting the font. (Doesn't work for parmesan at the moment)
738 * Documentation/user/appendices.itely (The Feta font): Add list of
739 Feta font symbols with names.
741 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
744 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
746 * lily/translator-group.cc (ly_set_trans_property): typechecking
747 (ly_get_trans_property): typechecking.
749 * lily/font-metric.cc (ly_text_dimension): typechecking
750 (ly_find_glyph_by_name): idem.
752 * scm/bass-figure.scm (brew-complete-figure): support for
755 * lily/grob.cc (ly_get_paper_var): new function
757 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
759 * VERSION (PATCH_LEVEL): 1.5.35 released.
761 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
762 (bracket): New function.
764 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
765 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
767 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
770 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
773 * lily/grob.cc (ly_get_grob_property): be anal about types.
774 (ly_set_grob_property): idem
776 * lily/figured-bass-engraver.cc (process_music): move molecule
777 building completely to Scheme
779 * lily/include/musical-request.hh (class Bass_figure_req): Add
782 * lily/parser.yy (bass_figure): add support for space figure.
784 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
786 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
788 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
789 (ly_align_to_x): new function ly-align-to!
791 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
794 * mf/feta-nummer.mf: include normal-space dimension.
796 * lily/collision.cc (check_meshing_chords): don't merge collisions
799 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
802 2002-02-28 Mats Bengtsson <matsb@matsb@s3.kth.se>
804 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
806 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
808 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
811 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
814 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
815 scm/grob-description.scm: added mensural fermata symbol
817 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
819 * VERSION: 1.5.34 released.
821 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
823 * lily/staff-symbol-referencer.cc (callback): assume that
824 staff-position is unset in general.
826 * input/regression/rest-pitch.ly: new file.
828 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
831 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
833 * lily/scm-option.cc (set_lily_option): add internal-type-checks
834 as Scheme option. Run regression test by default with
835 internal-type-checking.
837 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
839 * lily/lily-guile.cc (type_check_assignment): changed functions.
841 * scm/*description*.scm: be anal about typechecks. Some changes
842 for internal variable names.
844 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
846 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
848 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
850 * VERSION: 1.5.33 released.
852 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
853 flare_path everywhere (c-clef, numbers).
855 * lily/bar-number-engraver.cc (process_music): also print bar
856 number if measure starts with grace note.
858 * input/regression/grace-bar-number.ly: new test.
860 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
862 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
865 * scm/music-functions.scm (voicify-music): split chords into
866 different voices automatically.
868 * lily/music.cc (ly_music_list_p): new function
870 * lily/music-sequence.cc (do_relative_octave): robustification
872 * scm/music-functions.scm: many utility functions
874 * lily/music.cc (ly_set_mus_property): add type checks to the
875 Scheme property assignment.
877 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
880 * mf/lilypond.map: .map file from Mats' page.
882 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
884 * Some more parmesan related fixes;
886 * Custos: varying shape (in particular, stem length), depending on the
887 vertical position of the custos (on staffline / between stafflines);
889 * Custos: added grob property "neutral-direction" (same semantics as
890 with stem); introduced new grob property "neutral-position";
892 * Time-signature: print a warning when resorting to default layout.
894 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
896 * lily/translator-group.cc (add_fresh_simple_translator): remove
897 function; initialize() is called through
898 Translator_group::initialize().
900 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
901 for the neighbors of a loose column.
903 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
904 position loose columns so that they don't collide.
906 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
908 * VERSION: 1.5.32 released.
910 * scm/font.scm: remove font-name symbol.
912 * mf/GNUmakefile: use pktrace for making PFAs
914 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
916 * lily/rest-collision.cc (do_shift): read direction field from
917 rest-column in case of note-rest collision. This should fix some
918 problems with rest collisions.
920 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
922 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
925 * lily/note-head.cc (brew_ez_molecule): Remove note-character
926 property. Read pitch directly from #'cause.
928 * mf/feta-puntje.mf: bugfix
930 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
932 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
934 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
936 * Documentation/windows/compiling.texi: Update.
938 * Documentation/index.texi: Add link to orphaned compiling for
941 * Documentation/footer.html.in: Comment fix.
943 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
945 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
947 * VERSION: 1.5.31 released
949 * lily/new-spacing-spanner.cc: remove file.
951 * lily/third-try.cc (do_measure): only take spacings into account
952 if they pertain to the column pair under consideration. This fixes
953 spacing bug when mixing eighths triplets and normal eighths.
955 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
956 lines don't take up space anymore. Document why in note-head.cc
959 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
961 * lily/font-interface.cc (get_font): reinstate
962 #'font-magnification. See input/regression/font-magnification.ly
963 (get_font): Change the definition of #'font-name grob property.
965 * lily/grob.cc (get_uncached_molecule): output origin for grobs
966 that have a #'cause field.
968 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
970 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
972 * mf/GNUmakefile: remove metapost stuff
974 * stepmake/aclocal.m4: remove metapost detection stuff.
976 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
978 * mf/GNUmakefile (FET_FILES):
979 (FONT_FILES): Include parmesan.
981 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
984 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
986 * Documentation/user/refman.itely (Paper size): Quote braces.
988 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
990 * stepmake/aclocal.m4: fixed bison version check to be more
993 * lily/stem.cc (position_noteheads): fix for cluster chords.
995 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
997 * python 2.2 support.
999 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1001 * VERSION: 1.5.30 released
1003 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1005 * Documentation/user/refman.itely (Dynamics): add a note about
1008 * scm/grob-description.scm: add a 'translator-type? object
1009 property, so that \property Foo.Bar =\turnOff doesn't cause
1012 * lily/translator-group.cc (add_fresh_group_translator): make
1013 new add-translator functions to make distinction between fresh and
1014 used group-translators. Fixes problem with scripts on auto-changing voice
1016 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1017 add to Score_performer. Fixes bar checks in MIDI
1019 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1020 heads. Fixes many quirks with ties.
1022 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1023 in the grob property #'cause, instead of using Grob_info.
1025 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1026 staff context, fixing dot alignment on collisions.
1028 * lily/beam-engraver.cc (try_music): remove can't find beam start
1029 warning, so that skipTypesetting won't complain.
1031 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1033 * Documentation/user/refman.itely (Paper size): Documentation fix,
1036 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1038 * scm/grob-description.scm: \breathe: Use feta font comma by default
1040 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1042 * input/template/piano-dynamics.ly (pedal): Simplified
1044 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1046 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1048 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1050 * lilypond-mode.el (LilyPond-command-query): ignore case.
1052 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1054 * VERSION: 1.5.29 released
1056 * all files: change 2001 to 2002 in headers globally
1058 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1059 cheese") font. WARNING: fonts changed.
1061 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1063 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1065 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1067 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1069 * mf/*.mf: Fixed a few typos in various .mf files
1071 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1073 * mf/: added macro soft_penstroke
1075 softened some glyphs
1076 redrawn triangular noteheads
1078 added classical quarter rest
1080 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1082 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1083 lines and staff_space>=2
1085 * lily/rest.cc: Use default rests when current style glyphs not
1087 \property Staff.Rest \override #'style = #'classical
1089 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1091 * input/bugs/first-tie.ly: New file.
1093 * input/bugs/spacing-clash.ly: New file.
1095 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1099 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1101 * lilypond-indent.el: New file providing indentation for
1102 parenthesised blocks of lilypond code in Emacs
1104 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1105 indentation and handle block comments properly. Distinguish
1106 accents from close-brackets in fontification.
1108 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1110 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1112 * Documentation/windows/installing.texi:
1113 * Documentation/windows/compiling.texi: Include from 1.4.10.
1115 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1117 * input/bugs/first-midi-tie.ly: New file.
1119 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1121 * VERSION: 1.5.28 released
1123 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1124 illicit beams on [c4 c4] etc.
1126 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1127 file. Make separate iterator for Bar_checks. Bar_check now happen
1128 outside engravers, meaning that you can use them with
1129 skipTypesetting. Associated changes in other files.
1131 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1134 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1136 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1138 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1140 * lily/stem.cc (set_spacing_hints): removed function
1142 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1143 correction for spacing; now take vertical extents of the stem into
1146 * lily/third-try.cc: More hacking to get spacing working.
1148 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1149 sits at staff level and creates note spacing objects. Scrap it
1150 again, and document why.
1152 * lily/include/group-interface.hh: rename functions.
1154 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1156 * stepmake/stepmake/c++-rules.make:
1157 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1159 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1161 * make/lilypond-vars.make:
1162 * scripts/ly2dvi.py (setup_environment):
1163 * scripts/lilypond-book.py (setup_environment): Also set tex
1166 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1168 * VERSION: 1.5.27 released.
1170 * Documentation/user/refman.itely (Bar numbers): added bar number
1173 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1176 2001-12-22 Mats Bengtsson <matsb@matsb@s3.kth.se>
1178 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1179 spread the last few lines all over the last page of a score.
1181 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1183 * lily/third-try.cc: 3rd try at revising spacing
1184 engine. Not yet finished.
1186 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1189 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1190 collecting past note heads.
1192 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1195 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1196 class. Keep a queue of grobs that are still playing in busyGrobs.
1198 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1199 function. Use busyGrobs to detect playing notes.
1201 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1203 * Documentation/topdocs/INSTALL.texi: Added note about broken
1204 python-2.1. Updated note for Debian's broken (well, broken for
1205 our use anyway) tex configuration.
1207 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1209 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1210 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1212 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1213 (But left margin of png's still misses a few pixels. Arg.)
1215 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1217 * lilypond-mode.el (LilyPond-command-next-midi): Make
1218 possible to kill midi-process (using "C-c C-m").
1220 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1222 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1223 Convert strings with dimensions to numbers.
1225 * lily/volta-engraver.cc: only make a bracket for the top staff,
1226 as found in stavesFound.
1228 * lily/bar-number-engraver.cc: remove staff administration.
1230 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1231 administration. This breaks support for invisible-staff.
1233 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1234 symbols into stavesFound.
1236 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1237 grobs, and put them into columns.
1239 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1240 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1242 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1244 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1245 midi section in the Emacs-mode, so it is possible to play certain
1246 score in a multiscore lilypond-file.
1248 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1249 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1250 (FIXME: not accessible from guile)
1252 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1253 better support for Kurt Stone's suggestions.
1254 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1256 Changed property: localKeySignature.
1257 Added properties: extraNatural, autoAccidentals,
1260 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1262 * ly/property-init.ly: added commands
1263 \defaultAccidentals \modernAccidentals \modernCautionaries
1264 \noResetKey \forgetAccidentals
1266 * ly/engraver-init.ly: Correct initialization of new accidentals.
1268 * scm/translator-property-description.scm: The new properties
1271 * input/: Some examples added, some changed.
1273 * Documentation/regression-test.tely: Added quick test of new
1276 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1278 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1281 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1283 * lily/beam.cc (before_line_breaking): Make beams without stems
1284 or with only one stem disappear.
1286 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1288 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1289 files to have standardised HTML bibliography output. Update build
1290 docs to reflect this.
1292 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1293 active_count_, so that we don't have to look for active springs
1296 * scm/interface-description.scm,scm/grob-property-description.scm:
1299 * lily/simple-spacer.cc (solve): Handle forced line breaks
1300 here. Fixes problems when combining linebreaks with non-fitting
1303 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1305 * 1.4.9.jcn3 forward ports.
1307 * Really included .cvsignore.
1309 * Included Han-Wen's uu1 windows fixes.
1311 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1313 * Added Cygwin setup.hint
1315 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1316 tetex/texmf, python installations.
1318 * Updated cygwin installer.
1320 * ly2dvi: Don't accept filenames with spaces (+ fix).
1322 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1324 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1326 * lily/translator-def.cc: Remove manual symbol caching.
1328 * lily/script-column.cc (before_line_breaking): robustness check:
1329 don't crash if no direction set.
1331 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1333 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1337 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1339 * lily/note-head.cc (head_extent): added to compute width without
1340 ledger lines. By default, ledger lines take up width now.
1342 * input/regression/fingering.ly: demonstrate auto fingering.
1343 Horizontal placement is still buggy.
1345 * lily/fingering-engraver.cc (class Fingering_engraver):
1346 added. Provides support for horizontal fingering scripts
1348 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
1350 * lily/side-position-interface.cc (add_staff_support): add staff
1351 only for Y-axis side positions.
1353 * lily/parser.yy (request_chord): Fix mem leak.
1355 * lily/musical-request.cc (transpose): moved to Music::transpose()
1357 * lily/include/grob-info.hh: Change music pointer to SCM, so we
1358 can store grobs as grob-creation cause as well.
1360 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
1361 handle when adding. Use precomputed symbols throughout lily.
1363 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
1364 track of spacing issues.
1366 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
1367 to keep track of staff spacing
1369 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
1371 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
1372 code clean from conditionals and have a concentrated sets of
1373 compatitility fixes for old guile versions.
1375 * Fixes for guile 1.4, including embedded ps.
1377 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1379 * lily/stanza-number-engraver.cc (process_music): allow pairs as
1380 well for markup texts.
1382 * lily/musical-request.cc (length_mom): kludge for null pointer.
1384 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
1386 * scm/lily.scm (sign): bugfix
1388 * CHANGES: Change log instated.
1390 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.