Tie doesn't tie

View: New views
7 Messages — Rating Filter:   Alert me  

Tie doesn't tie

by Erik Appeldoorn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Why doesn’t the first bar tie to the second?

 

mus = \relative c {

 \autoBeamOff

 \key d \major

 \time 3/4

 \clef bass

 

<< { <d a' d>2 <d, d'>4~ } \\ { d2 } >> |

<d d'>2. |

}

 

\score {

 \mus

}

 

Hou je goed / Keep well,

 

Erik

 


_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

Re: Tie doesn't tie

by Kieren MacMillan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Erik,

> Why doesn't the first bar tie to the second?

Because there are three different Voice contexts involved here... be  
sure to read the documentation, especially
<http://lilypond.org/doc/v2.13/Documentation/notation/Multiple- 
voices#Multiple-voices>

But you don't even need that much explanation — you simply need to  
put the first chord of the tied set outside the <<>>, e.g.

mus = \relative c {
   \autoBeamOff
   \key d \major
   \time 3/4
   \clef bass
   << { <d a' d>2 } \\ { d,2 } >> <d d'>4 ~   |
   <d d'>2.   |
}

\score { \mus }

Hope this helps,
Kieren.

_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

Re: Tie doesn't tie

by David Kastrup :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Kieren MacMillan <kieren_macmillan@...> writes:

> Hi Erik,
>
>> Why doesn't the first bar tie to the second?
>
> Because there are three different Voice contexts involved here... be
> sure to read the documentation, especially
> <http://lilypond.org/doc/v2.13/Documentation/notation/Multiple-
> voices#Multiple-voices>

Hm.  Maybe ties should work at the staff level as fall-back.  Or even
just explicitly.  Wouldn't it be nice to be able to say ~~ and have the
tie work staff-level?  The current voice jigglery-pokery is not
particularly nice, and it gets worse when working with <<\\>> when you
have to start guessing the right \voiceOne and similar settings in order
to have the invisible notes sit on the same place as the visible ones.

An artificial voice with invisible notes is pretty solidly pointing to
missing functionality.

--
David Kastrup



_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

Re: Tie doesn't tie

by Kieren MacMillan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi David,

> Wouldn't it be nice to be able to say ~~ and have the tie work  
> staff-level?

Yes.

> it gets worse when working with <<\\>> when you have to start
> guessing the right \voiceOne and similar settings in order
> to have the invisible notes sit on the same place as the visible ones.

I never have to "guess".  ;)

> An artificial voice with invisible notes is pretty solidly
> pointing to missing functionality.

Agreed — are you able to add it?
Kieren.

_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

tie engraver in staff? (Re: Tie doesn't tie)

by Wilbert Berendsen-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Op zondag 08 november 2009 schreef David:

> Hm.  Maybe ties should work at the staff level as fall-back.  Or even
> just explicitly.  Wouldn't it be nice to be able to say ~~ and have the
> tie work staff-level?  The current voice jigglery-pokery is not
> particularly nice, and it gets worse when working with <<\\>> when you
> have to start guessing the right \voiceOne and similar settings in order
> to have the invisible notes sit on the same place as the visible ones.

The trouble is that << \\ >> creates new Voice contexts. So not only ties but
everything (spanners etc) does not connect to notes in the outside Voice
context. Even if you have something like:

\relative c' {
  c( << { f g } \\ { f, g } >> d')
}

the slur does not notice the notes inside the << \\ >> construct.

The solution is put all related notes together:

\relative c' {
  << { c( f g d) } \\ { s f, g s } >>
}

or avoid << \\ >>, much longer to write:

\relative c' {
  \voiceOne
  c(
  <<
    { f g }
    \new Voice { \voiceTwo f, g }
  >>
  d')
}

But I think that this is properly enough documented.

> An artificial voice with invisible notes is pretty solidly pointing to
> missing functionality.

Agreed. Even when explicitly instantiating voices it remains necessary to use
them for e.g. cross-voice ties. Easy cross-voice ties would be very nice, as
they occor very often in keyboard music. This is an example that works:

\layout {
  \context {
    \Staff
    \consists "Tie_engraver"
  }
  \context {
    \Voice
    \remove "Tie_engraver"
  }
}

\new Staff \relative c' <<
  { c4 e~ g b }
  \\
  { a,2 e' }
>>

But I don't know how it would affect more complex stuff such as multiple
voices with tied chords in a staff.

best regards,
Wilbert Berendsen

--
Frescobaldi, LilyPond editor for KDE: http://www.frescobaldi.org/
Nederlands LilyPond forum: http://www.lilypondforum.nl/


_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

Re: tie engraver in staff? (Re: Tie doesn't tie)

by David Kastrup :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Wilbert Berendsen <lilykde@...> writes:

> Agreed. Even when explicitly instantiating voices it remains necessary to use
> them for e.g. cross-voice ties. Easy cross-voice ties would be very nice, as
> they occor very often in keyboard music. This is an example that works:
>
> \layout {
>   \context {
>     \Staff
>     \consists "Tie_engraver"
>   }
>   \context {
>     \Voice
>     \remove "Tie_engraver"
>   }
> }
>
> \new Staff \relative c' <<
>   { c4 e~ g b }
>   \\
>   { a,2 e' }
>>>
>
> But I don't know how it would affect more complex stuff such as multiple
> voices with tied chords in a staff.

One thing that would help is a concept of graceful degradation.  With
that I mean that the Tie_engraver in a voice may declare "I give up",
and _if_ (and only if) one happens to have a Tie_engraver in the Staff,
it will then get control in order to also place the tie.

--
David Kastrup



_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user

Re: tie engraver in staff? (Re: Tie doesn't tie)

by Mats Bengtsson-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Please note that this problem (and the "solution" of moving the tie
engraver to the staff context) has been discussed several times before
on the mailing list, including the following threads:
http://lists.gnu.org/archive/html/lilypond-user/2007-01/msg00359.html
http://lists.gnu.org/archive/html/lilypond-user/2007-11/msg00356.html
http://lists.gnu.org/archive/html/bug-lilypond/2007-03/msg00103.html

   /Mats

Wilbert Berendsen wrote:

> Op zondag 08 november 2009 schreef David:
>
>  
>> Hm.  Maybe ties should work at the staff level as fall-back.  Or even
>> just explicitly.  Wouldn't it be nice to be able to say ~~ and have the
>> tie work staff-level?  The current voice jigglery-pokery is not
>> particularly nice, and it gets worse when working with <<\\>> when you
>> have to start guessing the right \voiceOne and similar settings in order
>> to have the invisible notes sit on the same place as the visible ones.
>>    
>
> The trouble is that << \\ >> creates new Voice contexts. So not only ties but
> everything (spanners etc) does not connect to notes in the outside Voice
> context. Even if you have something like:
>
> \relative c' {
>   c( << { f g } \\ { f, g } >> d')
> }
>
> the slur does not notice the notes inside the << \\ >> construct.
>
> The solution is put all related notes together:
>
> \relative c' {
>   << { c( f g d) } \\ { s f, g s } >>
> }
>
> or avoid << \\ >>, much longer to write:
>
> \relative c' {
>   \voiceOne
>   c(
>   <<
>     { f g }
>     \new Voice { \voiceTwo f, g }
>   >>
>   d')
> }
>
> But I think that this is properly enough documented.
>
>  
>> An artificial voice with invisible notes is pretty solidly pointing to
>> missing functionality.
>>    
>
> Agreed. Even when explicitly instantiating voices it remains necessary to use
> them for e.g. cross-voice ties. Easy cross-voice ties would be very nice, as
> they occor very often in keyboard music. This is an example that works:
>
> \layout {
>   \context {
>     \Staff
>     \consists "Tie_engraver"
>   }
>   \context {
>     \Voice
>     \remove "Tie_engraver"
>   }
> }
>
> \new Staff \relative c' <<
>   { c4 e~ g b }
>   \\
>   { a,2 e' }
>  
>
> But I don't know how it would affect more complex stuff such as multiple
> voices with tied chords in a staff.
>
> best regards,
> Wilbert Berendsen
>
>  

--
=============================================
        Mats Bengtsson
        Signal Processing
        School of Electrical Engineering
        Royal Institute of Technology (KTH)
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463
        Fax:   (+46) 8 790 7260
        Email: mats.bengtsson@...
        WWW: http://www.s3.kth.se/~mabe
=============================================



_______________________________________________
lilypond-user mailing list
lilypond-user@...
http://lists.gnu.org/mailman/listinfo/lilypond-user