Re: Arrow on cross-staves arpeggio

2017-01-19 Thread David Nalesnik
Hi David,

On Thu, Jan 19, 2017 at 4:10 AM, David Sumbler  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

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Arrow on cross-staves arpeggio

2017-01-19 Thread David Sumbler
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.

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?

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).

David S

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Arrow on cross-staves arpeggio

2017-01-18 Thread David Nalesnik
On Wed, Jan 18, 2017 at 2:40 PM, Caio Giovaneti de Barros
 wrote:
>
>> The above doesn't work: it produces an arpeggiando sign across the two
>> staves as required, but without the requested arrow head.
>>
> Man, you read my mind. I was trying to solve the exact same problem just
> now.
>
> Caio


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

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Arrow on cross-staves arpeggio

2017-01-18 Thread Caio Giovaneti de Barros



The above doesn't work: it produces an arpeggiando sign across the two
staves as required, but without the requested arrow head.

Man, you read my mind. I was trying to solve the exact same problem just 
now.


Caio

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Arrow on cross-staves arpeggio

2017-01-18 Thread David Sumbler
%
\version "2.19.48"

\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
\arpeggioArrowUp
1\arpeggio
  }
  \new Staff {
\arpeggioArrowUp
\clef "bass" 1\arpeggio
  }
>>
%

The above doesn't work: it produces an arpeggiando sign across the two
staves as required, but without the requested arrow head.

Omitting one of the \arpeggioArrowUp instructions doesn't help.

How can I get a cross-staves arpeggiando with an arrow?

David

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user