Kieren MacMillan <kieren_macmil...@sympatico.ca> 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