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