lilypond-user
[Top][All Lists]
Advanced

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

Re: Positioning of a tiny voice


From: David Kastrup
Subject: Re: Positioning of a tiny voice
Date: Sat, 08 Feb 2020 00:21:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Kieren MacMillan <address@hidden> writes:

> Hi Joram,
>
>> the following works for me:
>> \new Staff <<
>>  { \oneVoice \music } \\ { \voiceThree \shiftOff \upper } >>
>
> Glad you found a solution!
>
>> Why did you use \voices 1,2 in your example?
>
> Bad coding… Here’s a better snippet (including your \oneVoice fix):
>
> %%%
> \version "2.19.83"
>
> upper = \relative {
>  \tiny
>   s4 b''
> }
>
> music = \relative {
>  \key e \minor
>  \time 2/4
>  b'8 <b, e g>16 c' <b, e g b>8 <b e g>16 b'
> }
>
> \new Staff { \voices 1,3 << { \oneVoice \music } \\ { \shiftOff \upper } >> }
> %%%
>
>> And I’d like to understand why it does not work without the \\.
>> I thought that this was just a shorthand for \voiceOne and …Two
>
> No… << >> takes whatever’s inside and combines it into a single voice.

Not really.  << >> takes all items inside and interprets them in
parallel at the _current_ context level.  So with \new Staff << \upper
\music >>, the <<>> occurs at Staff level.  The first note event in
either sequence triggers the creation of a Voice context, but those
sequences trigger their own, separate Voices.

If we had \new Voice << ... >> your description would have been
correct.  Actually, I'd have used something like

\new Voice = "main" { \voices 1,"main" << \upper \\ \music >> }

myself here (that keeps \music in the main voice) but that's not really
sufficient since you'd want to switch off NoteColumn.ignore-collision
also.  So see my separate proposal.

-- 
David Kastrup



reply via email to

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