lilypond-user
[Top][All Lists]
Advanced

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

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


From: Mats Bengtsson
Subject: Re: tie engraver in staff? (Re: Tie doesn't tie)
Date: Mon, 09 Nov 2009 13:17:00 +0100
User-agent: Thunderbird 2.0.0.5 (X11/20070716)

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: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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