Hi Stephan,
What should I do to set a down-arrow to a cross-staff arpeggio? Find
below what I've tried so far. Neither (1) nor (2a AND/OR 2b) seem to
add an arrow to the lower end of the squiggy line (in the left hand
staff).
TIA for your advice
The problem is that, internally, \arpeggioArrowDown does:
\revert Arpeggio.stencil
\revert Arpeggio.X-extent
\override Arpeggio.arpeggio-direction = #DOWN
Of these, only the override actually adds the arrow. But this override
happens in the current (Voice) context, and we need to address the
PianoStaff context. So, try the following:
\override PianoStaff.Arpeggio.arpeggio-direction = #DOWN
As an alternative, I posted a brute-force function recently that pushes
this kind of override to a different context, but I can't really
recommend relying in this mechanism (I'm a bit surprised that it works
in your case actually):
forceContext =
#(define-music-function (context-type mus) (symbol? ly:music?)
(music-map
(lambda (m)
(if (eq? (ly:music-property m 'name) 'ContextSpeccedMusic)
(ly:music-set-property! m 'context-type context-type))
m)
mus))
Then you can do \forceContext PianoStaff \arpeggioArrowDown.
Lukas