lilypond-user
[Top][All Lists]
Advanced

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

Re: Is a cross-staff chord with ties possible in lilypond?


From: address@hidden
Subject: Re: Is a cross-staff chord with ties possible in lilypond?
Date: Wed, 27 Apr 2011 07:40:19 -0400

On Apr 26, 2011, at 5:18 AM, David Kastrup wrote:

> Francisco Vila <address@hidden> writes:
> 
>> 2011/4/26 Helge Hafting <address@hidden>:
>>> 2. Cross-staff chords could get simpler too. Switch staff inside
>>>   a chord, and lilypond would know to connect the stems.
>> 
>> Cross-staff chords is one of the very first features I tried in
>> lilypond and could not achieve.  I used to teach Finale and gave a
>> Satie example as an exercise to my students; when I switched to
>> lilypond I could not use the piece (first Gnossienne) any more, you
>> can not ask for such a complicated exercise at the initial stages of
>> learning, but it was fairly easy with the afore mentioned visual
>> package.  The idea was: you select a special tool, choose a measure
>> and a number of handles appear on noteheads. Then just drag and drop
>> notes onto the desired staff.  In lilypond we have not a syntax for
>> this but we do have one for simple cross staff voices, so I guess we
>> have a small step done towards this. Remember, however, that a syntax
>> is not by far all you need to have for a feature to work.
>> 
>> I'd be delighted to sponsor the feature.  ¿A price?
> 
> Staff changes are currently done by music events IIRC, meaning that they
> occur at a certain point of time.
> 
> With the current architecture of Lilypond, the most straightforward
> approach at the moment would appear to specify cross-staff notes via
> tweaks instead.
> 
> 

To get cross-staff ties, you have to change how/where the tie engraver is doing 
its work.  Check out:

\score {
<<
\new Staff = up \with { tieWaitForNote = ##t } \relative c' {
s2 <c d>2
}
\new Staff = down \with { tieWaitForNote = ##t } \relative c' {
a8 ~ [ b ~ \change Staff = up c ~ d ~ ] \change Staff = down
\override Stem #'cross-staff = ##t
\override Stem #'length = #20
<a b>2
}
>>
\layout {
\context { \Staff \consists "Tie_engraver" }
\context { \Voice \remove "Tie_engraver" }
}}

Cheers,
Mike




reply via email to

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