[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problems with parallel voices when using David's accordion push spanner
From: |
Mojca Miklavec |
Subject: |
Problems with parallel voices when using David's accordion push spanner |
Date: |
Fri, 24 Feb 2017 13:47:05 +0100 |
Hi,
A while ago David Nalesnik wrote some wonderful macros to help me
write a thick line that denote accordion pushing [1]. The macros work
wonderfully in 99% of cases, but there are some strange examples where
this fails.
The example below produces output you can see in the attached PNG. If
I remove "AccordionPushPull", then the scores typeset fine, but I do
need those events.
I tried several other strategies. All I need is a small chunk of code
with different properties (tails pointing in different direction,
perhaps the size or colour of the scores slightly changed to denote
optional part for the player, ...). But whatever I try that works in
normal conditions, fails here.
I'm attaching a "minimal" working example that includes David's code
(which I left untouched).
melody = \fixed c' {
\time 3/4
\partial 2
\startPush d' e' | \stopPush
<< { f'4 e' d' | f'4 d'2 | } \\ { <f a>2.~ | <f a>2. | } >>
}
basses = \fixed c {
\clef bass
\partial 2
f,4 <f a c'> | d,4 <d f a> <d f a> | a,4 <d f a> <d f a> |
}
\score {
\new PianoStaff <<
\new Voice = "melody" { \melody }
\new AccordionPushPull \with {
\override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = 1
} {
\melody
}
\new Staff = "staff" <<
\new Voice = "bass" { \basses }
>>
>>
}
I would be grateful for a bit of help to fix this.
Thank you very much,
Mojca
(please CC me)
[1] http://lists.gnu.org/archive/html/lilypond-user/2016-07/msg00392.html
PS: Other examples of the push/pull macros not really obeying me (but
those are all cases with much lower priority and there's no need to do
anything about those now unless it's related to the problem at hand):
- When push/pull spanner starts at "\repeat volta 2 {}", it's not
properly aligned
- Sometimes I need:
melodyA = {\startPush ... \stopPush}
melodyB = {\startPush ... \stopPush}
melody = {\melodyA \melodyB}
but I need to delete the last \stopPush in A and the first \startPush
in B, else the line is disconnected (placed at different heights).
This is also a problem with \repeat volta 2 {} \alternative { {} {} }
where push events need to cross alternatives even if they are not
logically connected, but I need to make sure that it looks visually
accepting.
- The code sometimes says
warning: I think there's a dangling accordion push spanner :-(
but it doesn't tell me the line to help me debug the problem.
lily-accordion-with-parallel-voices.png
Description: PNG image
test-lily-multiple-voices.ly
Description: Binary data
- Problems with parallel voices when using David's accordion push spanner,
Mojca Miklavec <=