Thanks Trevor for your suggestions. I hadn't even considered the multi-score solution because that splits the midi to two files. And then I realised that, in this case, it doesn't really matter since the midi and PDF definitions are quite different.
The other solution consists of 'adapting' an existing system by adding or hiding new staves, rather than 'replacing' one system by another one that's quite different. Your example works in my cut down snippet. In the full piece, I'd need to add staves above the common one. However, I can see how to do that by predefining all the staves and using #(ly:export (skip-of-length ...)) to hide them when they're not needed. (I see what Mats was getting at now with french staves). Still, this solution leaves me unsatisfied. It means more faffing around... but it does produce the output I want. I feel that my original construct is cleaner and corresponds to the spirit of the parallel/sequence expression syntax, and would love to understand _why_ it's wrong (apart from the obvious fact that it make Lilypond squeal and produce duff output). Anyway, you(ve both given me a practical way forward, and I'll let the powers that be decide whether the original example constitutes a bug or an abuse of Lilypond. Thanks again for your help Roman _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user