Thanks Arjan, thanks Francisco for replies.
Perhaps due my poor English you both misunderstood me.
There is a simplified example:

%%%%%%%%%%%%%%%%%
\version "2.11.65"

xi = \relative c' { << {e f} {c d}>> }
xii = \relative c'' { << {g f} {e d}>> }
xiii = \relative c' { << {e d} {c b}>> }

{ \xi \xii \xi \xiii }
%%%%%%%%%%%%%%%%%

Would be nice that all this code results the same score as from
%%%%%%%%%%%%%%%%%%
 \relative c' { << {e f g f e f e d} {c d e d c d c b}>> }
%%%%%%%%%%%%%%%%%%

2008/12/27 Johan Vromans <jvrom...@squirrel.nl>:
> Arjan Bos <arjan....@hetnet.nl> writes:
>
>> Will this help you?
>
> I don't think so. At least, if I understand Antanas correctly.
>
> Assume you have a piece of music that consists of several sections.
> For example, intro, verse1, chorus, verse2, chorus, bridge, verse3,
> chorus, coda.
>
> The normal way to program this in LilyPond is to create the individual
> voices:
>
> sopranoMusic = { intro for soprano, verse1 for soprano, ... }
> altoMusic    = { intro for alto, verse1 for alto, ... }
> tenorMusic   = { ... }
> bassMusic    = { ... }
>
> and so on. Likewise the lyrics, orchestral, etc.
>
> So far, so good. Now I decided that I want to rearrange some sections.
> For example, add a chorus before the first verse, and swap verses 2
> and 3.

Yess!! Johan catched the idea!

> There's no easy way to accomplish this. Using (many) variables will
> help, but only if you applied the variables from the start, and then
> it is still a cumbersome task.

The variable name system is of great importance. It's odd that I never
saw roman numbers used in variables' names in Lilypond code examples.
Would be pretty simple as they are letters;).

> The main reason is that the programming
> is done horizontally, per voice, while shuffling sections is a
> vertical operation.

MusicXML solved this with two variants of coding layout: 'partwise'
and 'timewise' and conversion mechanism between them.

> I think this is what Antanas refers to. His suggestion is to have a
> grouping operator that you only need to apply to one voice, and that
> will group all voices vertically.

This idea would be worth to think over too. But I didn't had this in my mind.
The problem is that \Staff (\StaffGroup) element behaves like text
paragraphs do �C it starts new line and wraps content according page
width. I guess that line-break is unnessessary when starting \Staff
and \StaffGroup element. So assume \StaffGroup elements could follow
each other in same line (such musical nonsense:) with possibility of
sections' shuffling.
The same is obvious for music (notes):
{ a }  { b }
% and
<< { a }  { b } >>

Sorry if I'm too bold... I understand thas it would be not so trivial
developing task.

Antanas Budriūnas
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to