lilypond-user
[Top][All Lists]
Advanced

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

Re: Problem with arpeggio's


From: Malte Meyn
Subject: Re: Problem with arpeggio's
Date: Fri, 8 Jun 2018 15:02:16 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Hi Robert,

please always try to give a minimal example. This could look like this:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.19.81"

\new PianoStaff <<
  \new Staff \with {
    connectArpeggios = ##t
  } <<
    {
      a''2\arpeggio
    } \\ {
      <a' e''>\arpeggio
    }
  >>
  \new Staff {
    <f f'>\arpeggio
  }
>>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Note that I used { } \\ { } for polyphony here. You should do this too or use \voiceOne and \voiceTwo instead of \stemUp and \stemDown, because \voiceXXX changes not only stem directions but also other stuff in polyphony.

Am 08.06.2018 um 13:46 schrieb Robert Blackstone:
2 The testsnippet  does produce the arpeggio's but I do not know how to connect the arpeggio's in the individual staves staff without connecting them across the staves. I played with the various " \set Staff.connectArpeggios"-options in the snippett but none of them gave me the desired result.
As one can see at the Internals Reference (http://lilypond.org/doc/v2.19/Documentation/internals/arpeggio_005fengraver) the Arpeggio_engraver lives in Voice contexts. That’s why arpeggios don’t span multiple voices as a default behaviour.

You could move that engraver to Staff context. But that would lead to two problems/questions:

1. Now *all* arpeggios in the Staff span *all* voices. You probably don’t want that in most cases. 2. What about that connectArpeggios thing? There seems to be an engraver at PianoStaff level that listens to that property and connects “Voice arpeggios” to “PianoStaff arpeggios”.

Indeed there is such an engraver: The Span_arpeggio_engraver, see Internals Reference (http://lilypond.org/doc/v2.19/Documentation/internals/span_005farpeggio_005fengraver). There you’ll see that it lives in PianoStaff contexts. That’s why \set-ting Staff.connectArpeggios has no effect in the snippet above. But you can add this engraver to Staff level too: Just add the line

        \consists Span_arpeggio_engraver

before

        connectArpeggios = ##t

in the \with block in the code above.



reply via email to

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