lilypond-user
[Top][All Lists]
Advanced

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

Attachment: lily-accordion-with-parallel-voices.png
Description: PNG image

Attachment: test-lily-multiple-voices.ly
Description: Binary data


reply via email to

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