lilypond-user
[Top][All Lists]
Advanced

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

Re: Ties, Slurs, and Voices Again!


From: Urs Liska
Subject: Re: Ties, Slurs, and Voices Again!
Date: Thu, 24 Apr 2014 09:57:55 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

Am 24.04.2014 00:53, schrieb Knute Snortum:
I'm haven't problems with ties, slurs, and voices again, but the previous
answers don't seem to help.

I have a situation when I have basically two chords, except that the top
voice moves in a different rhythm from the other two.  Plus the inner voice
needs a slur and the lower voice needs a tie.  This is the closest I've
gotten:

\version "2.18.2"

\language "english"

{

  \time 5/4

  \key af \major

  <af df' f'>4 <g bf ef'> <c' ef' af'>

  <<

   { bf'8 ( [ ef'' ] c'' ) }

   \\

   {

   <<

    { g'4 ( af'8 ) }

    { ef'4 ~ ef'8 }

   >>

   }

  >>

  r8

}

If you render this, the inner slur and the lower tie are right next to each
other on the bottom.  I want the slur moved up so that it touches the heads
of the inner voice's notes.  Any ideas?

From coding style there is one issue with your example. With the polyphonic construct you use the first voice is implicitly assigned \voiceOne and the second \voiceTwo. And as you place a second parallel construct in the lower voice both have now \voiceTwo assigned - which can't really work. And you don't need it in your case, as the lower voice actually isn't polyphonic but chords. You can give a tie to individual notes of a chord by adding the tilde inside the chord construct to the note you want:

<ef'~ g'>4 ( <ef' af'>8)

The result is the same as from your example. Which is clear as the music is \voiceTwo, which moves all curves downwards.

You can force the direction of an individual item by using direction operators "_" and "^". So

<ef'~ g'>4^ ( <ef' af'>8)

will structurally give you what you want.
But now we're looking at a particularly ugly example of the problems LilyPond's still has with slur formatting. So you will have to tweak that slur.

You can use the built-in \shape function or use the opportunity to get familiar with Janek WarchoĊ‚'s new \shapeII function that you can access when you "install" the openLilyLib snippets repo (https://github.com/openlilylib/snippets).

The following version will give you both options (just comment out accordingly). Of course you may want to fiddle around with the values.

\version "2.18.2"

\language "english"

% Uncomment the following line and the \shapeII line if you have openlilylib snippets
%\include "notation-snippets/shaping-bezier-curves/shapeII.ily"

{
  \time 5/4
  \key af \major
  <af df' f'>4 <g bf ef'> <c' ef' af'>
  <<
    { bf'8 ( [ ef'' ] c'' ) }
    \\
    {
      \shape #'((0.9 . -0.9) (0.7 . -1) (-0.7 . -1) (-0.85 . -0.85) ) Slur
%\shapeII #'((head 0.75 0.5) (polar 45 0.4) (polar 45 0.4) (head 0.85 0.25)) Slur
      <ef'~ g'>4^( <ef' af'>8)
    }
  >>
  r8
}

HTH
Urs

If you have downloaded the snippets repository you can compile the file
notation-snippets/shaping-bezier-curves/shapeII-example.ly to get an introduction to the powers of this function.


Knute Snortum
(via Gmail)



_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


Attachment: document.png
Description: PNG image


reply via email to

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