[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cross-voice arpeggios do not respect arpeggio types
From: |
Thomas Morley |
Subject: |
Re: Cross-voice arpeggios do not respect arpeggio types |
Date: |
Sat, 29 Mar 2014 12:59:16 +0100 |
2014-03-29 11:20 GMT+01:00 Phil Holmes <address@hidden>:
>
> "Ole V. Villumsen" <address@hidden> wrote in message
> news:address@hidden
>
>>> I'm not top posting.
>>
>>
>> The arpeggio types described in NR 1.3.3 including bracketed arpeggios
>> cannot be produced accross staves. When I specify \set
>> PianoStaff.connectArpeggios = ##t with either of \arpeggioArrowUp,
>> \arpeggioArrowDown, \arpeggioBracket, \arpeggioParenthesis and
>> \arpeggioParenthesisDashed, a normal arpeggio line is always printed,
>> i.e.,
>> the type specified is ignored.
>
>
> This is a documented limitation:
>
> "Known issues and warnings:
> [...]
> The parenthesis-style arpeggio brackets do not work for cross-staff
> arpeggios."
>
> --
> Phil Holmes
Hi Ole,
as Phil pointed out there is a limitation for parenthesis-style
arpeggio, though, have a look in property-init.ly.
You'll see sth like:
arpeggioBracket = {
\revert Arpeggio.X-extent
\override Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
}
I.e. no context is specified, meaning it works on voice-level only.
If you want to make it work at Staff or PianoStaff level c/p the
definition into your file and insert the correct context into it:
arpeggioBracket = {
\revert PianoStaff.Arpeggio.X-extent
\override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
}
Or create a music-function. Sth at the lines of:
arpeggioBracket =
#(define-music-function (parser location ctx)(string?)
#{
\revert $ctx .Arpeggio.X-extent
\override $ctx .Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
#})
EXAMPLES:
\version "2.18.0"
arpeggioNormal = {
\revert PianoStaff.Arpeggio.stencil
\revert PianoStaff.Arpeggio.X-extent
\revert PianoStaff.Arpeggio.arpeggio-direction
\revert PianoStaff.Arpeggio.dash-definition
}
arpeggioBracket = {
\revert PianoStaff.Arpeggio.X-extent
\override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
}
arpeggioBracket =
#(define-music-function (parser location ctx)(string?)
#{
\revert $ctx .Arpeggio.X-extent
\override $ctx .Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
#})
arpeggioArrowUp = {
\revert PianoStaff.Arpeggio.stencil
\revert PianoStaff.Arpeggio.X-extent
\override PianoStaff.Arpeggio.arpeggio-direction = #UP
}
arpeggioArrowDown = {
\revert PianoStaff.Arpeggio.stencil
\revert PianoStaff.Arpeggio.X-extent
\override PianoStaff.Arpeggio.arpeggio-direction = #DOWN
}
\new Staff = rh \with { \consists "Span_arpeggio_engraver" } {
\set Staff.connectArpeggios = ##t
\arpeggioBracket Staff
<< { g'\arpeggio } \\ { c'\arpeggio } >>
}
\version "2.18.0"
\new PianoStaff \relative c'' <<
\set PianoStaff.connectArpeggios = ##t
\new Staff {
\arpeggioArrowUp
<e, c>4\arpeggio
\arpeggioArrowDown
<e c>4\arpeggio
\arpeggioBracket PianoStaff
<e c>4\arpeggio
\arpeggioNormal
<e c>4\arpeggio
}
\new Staff {
\clef bass
<g, c,>4\arpeggio
<g c,>4\arpeggio
<g c,>4\arpeggio
<g c,>4\arpeggio
}
>>
HTH,
Harm