lilypond-user
[Top][All Lists]
Advanced

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

Re: crossStaff with tieWaitForNote


From: David Kastrup
Subject: Re: crossStaff with tieWaitForNote
Date: Fri, 14 Jun 2013 23:15:16 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Kieren MacMillan <address@hidden> writes:

> Hi Harm
>
>> I tried a simplified example. Though, I can make it work either for
>> the Ties _or_ for the Beam.
>> Seems that the notes have to be in the _same_ Voice for the Beam.
>> But for the Ties with a cross-staff chord in _different_ Voices.
>> 
>> I've no idea how to solve that quandary.
>
> Thanks for trying…  =(

How about this one?  It's sort of fishy but seemingly does the trick in
this simple case.

\version "2.17"
\language "english"

\layout {
  \context {
    \PianoStaff
    \consists #Span_stem_engraver
    tieWaitForNote = ##t
  }
  \context {
    \Staff
    \denies Voice
    \accepts TieVoice
    \defaultchild TieVoice
  }
  \context {
    \Voice
    \remove Tie_engraver
  }
  \context {
    \name "TieVoice"
    \type "Engraver_group"
    \consists Tie_engraver
    \accepts Voice
    \defaultchild Voice
  }
}

upper_notes = \relative d'' {
  <<
    { \voiceOne r8 <d e>8[-. a'-. e']-. a2-. }
    \new TieVoice = "piano_upper" { \voiceTwo s8 \crossStaff { <b,,, c e fs 
b>2.. } }
  >>
}

lower_notes = \relative d, {
  \clef bass
  \new TieVoice = "piano_lower" \new Voice {
  \tuplet 7/4 { \stemUp d32[ ~ a' ~ fs' ~ \change TieVoice = "piano_upper" 
\voiceTwo <b c> ~ e ~ fs ~ b] ~ }
      \change TieVoice = "piano_lower" \oneVoice <d,,, a' fs'>2.. }
}

\score {
  \new PianoStaff <<
    \new Staff \upper_notes
    \new Staff \lower_notes
  >>
}

-- 
David Kastrup

reply via email to

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