[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: Is a cross-staff chord with ties possible in lilypond?
From:       Helge Hafting <helge.hafting () hist ! no>
Date:       2011-04-29 11:29:01
Message-ID: 4DBAA0FD.8040205 () hist ! no
[Download RAW message or body]

On 27. april 2011 13:40, mike@apollinemike.com wrote:
[...]
>
> 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" }
> }}

Looks nice, and a similiar change for "Tie_performer" gives correct MIDI 
also. It is now easy to enter this construct, and get both pdf and midi. 
  But there are two problems with this:

Small problem:
Ties go up or down, and lilypond usually gets this right. But not with
this trick in place, the tie is *always* in opposite direction of the
stem. So ties clash into other stuff. But this is easy enough to fix 
with ^ and _. Explicit up- or down-ties are a small price to pay.

The big problem of unwanted extra ties:
When the Tie_engraver is moved to Staff, I get a lot of unwanted ties.
Specifically, if one voice starts a tie at some point in time, then
all other voices starts a tie too if they have a note starting in the 
same location!

It is as if the Tie_engraver merely see that "a tie starts at this point
in time", not considering that there may be simultaneous notes where
some has a tie and some doesn't.

I guess this is a bug, and not merely a limitation of moving the 
Tie_engraver to Staff?

Helge Hafting


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic