lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Slur with left and/or right arrow head


From: Thomas Morley
Subject: Re: Slur with left and/or right arrow head
Date: Wed, 17 Apr 2019 23:40:34 +0200

Am Mi., 17. Apr. 2019 um 23:02 Uhr schrieb Lukas-Fabian Moser <address@hidden>:
>
> Hi Harm,
>
> > Well, it's a little cheating involved :)
> > LilyPond does checks for grob-properties, you can't write
> > \override Grob.self-invited-property = ...
> > without "explaining" this `self-invited-property´ to LilyPond.
> >
> > But details and bound-details are established properties taking alists
> > containing key-value-pairs of subproperties.
> > Adding a new one like `arrow-left´ will not disturb other procedures
> > reading `(bound-)details´, they simply don't look for the new ones
> > (ofcourse you need to care not to take a preserved one). There is no
> > checking of subproperties.
> > So I code frequently this way.
> Thanks for the explanation!
> > I believe bound-details is more common for grobs with the
> > line-spanner-interface, but it makes no real difference, afaik.
> >
> > I'm aware doing
> > arrow-left -> LEFT
> > arrow-right -> RIGHT
> > is not that elegant, but thee are two names needed with three options
> > LEFT/RIGHT/#f
> > I'll have to think over it.
>
> But why not just a true/false flag?
>
> arrow-left -> ##f (default) / ##t
> arrow-right -> ##f (default) / ##t
>
> At the moment, arrow-left = #RIGHT does something that might even be
> turned into a useful arrow-tail, but that's not yet the case, and for
> now, I think, "no tip / arrow tip" are the reasonable alternatives.

Currently the values for RIGHT, i.e. 1 and LEFT, i.e. -1 are used lateron.
May not have been my best idea, as said I'll have to rethink.

> By the way, does the [bound-]details construct allow for nested
> sub-properties? I ask because of the Glissando analogy where it's
> .bound-details.left.arrow = ##f / ##t.

Well, you can do
  {
    \override Glissando.bound-details.xy.foo.bar.buzz.wtf = "??"
    b\glissando c''
  }
But it will do nothing without some other procedure reading and acting
on that stuff.

Cheers,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]