[Top][All Lists]
[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