How to make vertical arrow between staves

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

How to make vertical arrow between staves

Rutger Hofman-2
Good morning list,

in Berg's Violin Concerto, bar 93, there is a vertical arrow between the
solo violin and the first violins. See attached. I am convinced this is
a voice follower indication. This construct occurs numerous times in
this score, as in many other works by Berg.

I don't know how I can make this in Lilypond. An obvious construction
(which appeals to me because it is 'semantically correct') would be a
separate invisible voice and a 0-length starter note like:

    ... g4*0 \once \showStaffSwitch \change Staff = mvtIvlnI g8 ...

and the arrow can be obtained by \override
VoiceFollower.bound-details.right.arrow = ##t (found on the web,
although I couldn't locate the specs for bound-details.right in the docs).
But this doesn't work. It gives me some warnings about 'adding note head
to incompatible stem' and doesn't display the voice follower.

Making some time distance between start and end note of the voice
follower of course works, but then the arrow is not vertical, which is
obviously Berg's intent.

I also tried cross-staff glissando, but again to no avail.

Is there any other way to achieve this voice follower? Can I force the
angle of the follower line? Or should I try to abuse glissando, for
instance?

Obviously, an arrow can be drawn in markup, but that is not really
portable. Its length would be fixed, and need to be retuned for each
different situation, or score/parts, or whatever. I would love to stay
away from that.

Rutger Hofman
Amsterdam

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

berg-conc-vln-16.png (35K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Marc Hohl
Am 14.06.2017 um 12:34 schrieb Rutger Hofman:
> Good morning list,

[...]

Does

http://lsr.di.unimi.it/LSR/Item?id=962

what you want?

Marc

> Rutger Hofman
> Amsterdam
>
>
> _______________________________________________
> lilypond-user mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Rutger Hofman-2
On 06/14/2017 12:47 PM, Marc Hohl wrote:

> Am 14.06.2017 um 12:34 schrieb Rutger Hofman:
>> Good morning list,
>
> [...]
>
> Does
>
> http://lsr.di.unimi.it/LSR/Item?id=962
>
> what you want?
>
> Marc

This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw
*vertical* lines/arrows, is there anything I overlook?

Rutger


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Marc Hohl
In reply to this post by Rutger Hofman-2


Am 14.06.2017 1:15 nachm. schrieb Rutger Hofman <[hidden email]>:

On 06/14/2017 12:47 PM, Marc Hohl wrote:
> Am 14.06.2017 um 12:34 schrieb Rutger Hofman:
>> Good morning list,
>
> [...]
>
> Does
>
> http://lsr.di.unimi.it/LSR/Item?id=962
>
> what you want?
>
> Marc

This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw
*vertical* lines/arrows, is there anything I overlook?

I thought that this snippet allows for vertical arrows as well, but I was wrong. 

Sorry for the noise.

Marc


Rutger


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user



_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Juan Cristóbal Cerrillo
How about this

\version "2.18.2"
<<
  \new Staff {
    c1
    _\markup {
      \combine
      \draw-line #'(0 . 4)
      \arrow-head #Y #DOWN ##f
    }
  }
  \new Staff c1
>>


On Jun 14, 2017, at 6:20 AM, [hidden email] wrote:



Am 14.06.2017 1:15 nachm. schrieb Rutger Hofman <[hidden email]>:

On 06/14/2017 12:47 PM, Marc Hohl wrote: 


> Am 14.06.2017 um 12:34 schrieb Rutger Hofman: 
>> Good morning list, 
> 
> [...] 
> 
> Does 
> 
> http://lsr.di.unimi.it/LSR/Item?id=962 
> 
> what you want? 
> 
> Marc 

This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 
*vertical* lines/arrows, is there anything I overlook? 

I thought that this snippet allows for vertical arrows as well, but I was wrong. 

Sorry for the noise.

Marc


Rutger 


_______________________________________________ 
lilypond-user mailing list 
[hidden email] 
https://lists.gnu.org/mailman/listinfo/lilypond-user 


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Kieren MacMillan
Hi Juan,

OP: "Obviously, an arrow can be drawn in markup, but that is not really portable. Its length would be fixed, and need to be retuned for each different situation, or score/parts, or whatever. I would love to stay away from that."

=)

Cheers,
Kieren.

> How about this
>
> \version "2.18.2"
> <<
>   \new Staff {
>     c1
>     _\markup {
>       \combine
>       \draw-line #'(0 . 4)
>       \arrow-head #Y #DOWN ##f
>     }
>   }
>   \new Staff c1
> >>
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Kieren MacMillan
In reply to this post by Rutger Hofman-2
Hi Rutger,

> I cannot make it draw *vertical* lines/arrows, is there anything I overlook?

If the staves are guaranteed to be adjacent, maybe you can hack Arpeggio? Here's a start:

%%%  SNIPPET BEGINS
\version "2.19.62"

arpfix = {
  \once \override GrandStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
  \once \override GrandStaff.Arpeggio.X-offset = #0.5
  \once \override GrandStaff.Arpeggio.protrusion = #0
}

upper = { \arpfix c''1\arpeggio }
lower = { f'1\arpeggio }

\score {
  \new GrandStaff <<
    \new Staff = "upper_staff" \upper
    \new Staff = "lower_staff" \lower
  >>
  \layout {
    \context {
      \GrandStaff
      \override VerticalAxisGroup.staff-staff-spacing.padding = #12
      connectArpeggios = ##t
    }
  }
}
%%%  SNIPPET ENDS

Ultimately, it would be great to have a way to connect any two grobs/positions on a system/page (or even across pages!?), by simply giving ids. I don't know what has been thought about and/or worked on in that direction (e.g., we now have nested spanners on the same staff via ids, so maybe there's something in the works for cross-staff uses).

Hope this helps,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to make vertical arrow between staves

Thomas Morley-2
In reply to this post by Rutger Hofman-2
2017-06-14 12:34 GMT+02:00 Rutger Hofman <[hidden email]>:

> Good morning list,
>
> in Berg's Violin Concerto, bar 93, there is a vertical arrow between the
> solo violin and the first violins. See attached. I am convinced this is a
> voice follower indication. This construct occurs numerous times in this
> score, as in many other works by Berg.
>
> I don't know how I can make this in Lilypond. An obvious construction (which
> appeals to me because it is 'semantically correct') would be a separate
> invisible voice and a 0-length starter note like:
>
>    ... g4*0 \once \showStaffSwitch \change Staff = mvtIvlnI g8 ...
>
> and the arrow can be obtained by \override
> VoiceFollower.bound-details.right.arrow = ##t (found on the web, although I
> couldn't locate the specs for bound-details.right in the docs).
> But this doesn't work. It gives me some warnings about 'adding note head to
> incompatible stem' and doesn't display the voice follower.
>
> Making some time distance between start and end note of the voice follower
> of course works, but then the arrow is not vertical, which is obviously
> Berg's intent.
>
> I also tried cross-staff glissando, but again to no avail.
>
> Is there any other way to achieve this voice follower? Can I force the angle
> of the follower line? Or should I try to abuse glissando, for instance?
>
> Obviously, an arrow can be drawn in markup, but that is not really portable.
> Its length would be fixed, and need to be retuned for each different
> situation, or score/parts, or whatever. I would love to stay away from that.
>
> Rutger Hofman
> Amsterdam

Probably use GridLine

Here
http://lists.gnu.org/archive/html/lilypond-user/2017-04/msg00375.html
I tweaked the stencil to put out parentheses, arrows should be far easier.
Not yet tested, though.

Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user