Hi,

I noticed that Tie, Slur, PhrasingSlur, RepeatTie and LaissezVibrerTie
can be annotated by
\override <curve> . annotation = "some-text"

{
  \override Slur.font-size = 0
  \override Tie.font-size = 0
  \override PhrasingSlur.font-size = 0
  \override RepeatTie.font-size = 0
  \override LaissezVibrerTie.font-size = 0

  \override Slur.annotation = "Slur"
  \override Tie.annotation = "Tie"
  \override PhrasingSlur.annotation = "PhrasingSlur"
  \override RepeatTie.annotation = "RepeatTie"
  \override LaissezVibrerTie.annotation = "LaissezVibrerTie"

  b1( c')
  b1\( c'\)
  b~b
  <b f'>~ <b f'>
  b\repeatTie
  b\laissezVibrer
}

Alas, the implementation is not consistent.
Tie is the only one having font-size set per default, Slur uses a
fallback value in slur.cc, the other miss `annoatation` and
`font-size`.
This leads to several programming errors if compiled with
-dcheck-internal-types:
programming error: Grob `Slur' has no interface for property `font-size'

Especially Tie.font-size is getting on my nerves if I code
custom-stencils for all sorts of curves.

I propose a clean up:
Add `annotation` and `font-size` to tie.cc, semi-tie.cc and slur.cc
(where missing)
Delete Tie.font-size in define-grobs.scm
Use the same fallback for Tie.font-size in tie.cc as it's done in slur.cc

Not sure why annotations for tie-like curves are placed and colored
differently, though, I don't intend to change this.

Would a patch along these lines be acceptable?


Thanks,
  Harm

Reply via email to