lilypond-user
[Top][All Lists]
Advanced

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

Re: \oneVoice and \voiceXX commands having the wrong scope


From: Yuval Harel
Subject: Re: \oneVoice and \voiceXX commands having the wrong scope
Date: Fri, 28 Jan 2005 18:28:28 +0200
User-agent: Opera M2/7.54 (Win32, build 3865)

On Fri, 28 Jan 2005 11:16:16 +0100, Mats Bengtsson <address@hidden> wrote:
Sorry for the confusion! Taking another look at Yuval's second example,
the simple explanation is of course that he doesn't use the \\ feature
at all. In fact,
     << {\voiceOne r1-"voiceOne"} >>
does not create any new context at all, it's actually equivalent to
       \voiceOne r1-"voiceOne"


Hmmm, I assumed << {} >> is equivalent to << {} \\ {} >>, only with one voice.
I see that the documentation is not clear about that either.

Yuval, consider the following example:

\context Voice = main {
   c1^"In the main voice"
   <<{ c1^"Still in the main voice" }
     \new Voice{c1^"A newly created second voice"} >>
   c1^"Again, still in the main voice"
}

This example is a very useful. Until now I didn't understand why the two different syntaxes
<< {} {} >> and << {} \\ {} >> were necessary.
I think it should appear in the documentation (with the addition of \voiceOne and \voiceTwo to avoid collisions and the "Too many clashing notecolumns." warning), along with explanation that the << \\ >> approach produces separate voices, and some examples showing
how voice flow in and out of such constructs (perhaps using slurs).
I'm willing to write this (and send it to the development list? to Graham?)

In fact, I think suspect this construct might be at least as useful as << \\ >> for piano music.
Perhaps some shorthand syntax should exist. e.g.:
        << { -voice1- } \\
          {{ -main voice- }} \\
         { -voice2-}
        >>
        as a shorthand for:
        << \new Voice {\voiceOne   -voice1-}
                      {\voiceTwo   -main voice- \oneVoice}
           \new Voice {\voiceThree -voice2-}
        >>
Allowing for, e.g.:
c2( d2~ |
<<
        {r8 g8 g4~ g2} \\
        {{ d4. e8 f2)( }}
|
f8 e)
(notice the tie and slurs)

Yuval






reply via email to

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