lilypond-user
[Top][All Lists]
Advanced

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

Re: Arrow on cross-staves arpeggio


From: David Nalesnik
Subject: Re: Arrow on cross-staves arpeggio
Date: Thu, 19 Jan 2017 11:02:36 -0600

Hi David,

On Thu, Jan 19, 2017 at 4:10 AM, David Sumbler <address@hidden> wrote:
> On Wed, 2017-01-18 at 15:07 -0600, David Nalesnik wrote:
>> arpeggioArrowUp will apply to a bottom context.  Rewriting its
>> definition (in ly/property-init.ly) will work here:
>>
>> arpeggioArrowUp = {
>>   \revert PianoStaff.Arpeggio.stencil
>>   \revert PianoStaff.Arpeggio.X-extent
>>   \override PianoStaff.Arpeggio.arpeggio-direction = #UP
>> }
>>
>> Hope this helps--
>> David
>
> It definitely helps!  Thank you.
>
> For my better understanding, could you explain exactly what is
> happening here?
>
> I take it that \arpeggioArrowUp applies to a Voice context, and that
> somehow setting PianoStaff.connectArpeggios to #t doesn't alter this
> fact.

Yes, the definition of arpeggioArrowUp in ly/property-init.ly doesn't
specify a context, so we fall back on Voice:

arpeggioArpeggioUp = {
  \revert Arpeggio.stencil
  \revert Arpeggio.X-extent
  \override Arpeggio.arpeggio-direction = #UP
}

>
> But I don't understand what the 2 \reverts are doing in the new
> definition.  What are they reverting to?  Perhaps #f and 0
> respectively?

They are there because of possible interactions with other
arpeggio[...] commands.  For example, arpeggioBracket overrides
Arpeggio.stencil, and arpeggioParenthesis overrides both
Arpeggio.stencil and Arpeggio.X-extent.

>
> In the light of your reply I have now altered my file, and after a bit
> of experimentation I find that all I need is:
>         \set PianoStaff.connectArpeggios = ##t
>         \override PianoStaff.Arpeggio.arpeggio-direction = #UP
> and then
>         \revert PianoStaff.Arpeggio.arpeggio-direction
> when I no longer require the arrow (which is after the first
> arpeggiando in this case).

Or just \once \override.

Yeah, for a one-off this is all you need!

Best,
David N



reply via email to

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