As far as I can understand, Han-Wen's suggestion was to do
soloPart = \notes{
...
\theCadenzaw
...
}
and
accompaniment = \notes{
...
\context DevNull \theCadenza
...
}
and since there is no such thing as a DevNull context, LilyPond should
just ignore the cadenza music when typesetting the accomaniment.
However, when I try it here, Lily happily typesets the cadenza in
both parts. Fortunately, it's not that hard to implement a DevNull
context yourself. In the syntax of the latest development version,
just add:
\paper{
\context{
\type "Engraver_group_engraver"
\name DevNull
\consists "Swallow_engraver"
}
\context{
\StaffContext
\accepts DevNull
}
}
To get correct MIDI, you have to add the corresponding performer
definitions:
\midi{
\context{
\type "Performer_group_performer"
\name DevNull
\consists "Swallow_performer"
}
\context{
\StaffContext
\accepts DevNull
}
}
/Mats
Will Oram wrote:
Do you mean something like this:
theCadenza = \notes \relative d'' {
STUFF
}
thePart = \notes {
MAIN STUFF
\context DevNull = "cadenzaMusic" << \theCadenza >>
MORE STUFF
}
If so, lily complained
warning: Cannot find or create `DevNull' called `cadenzaMusic'
I'm toying with this not because I'm too lazy to count (I ended up
doing so), but because of mis-synchronisations in MIDI. Suppose I
bring it down to two instruments: accompaniment and solo. The cadenza
lasts 16*703, so the accompaniment skips that long by
\cadenzaOn
s16*703
\cadenzaOff
This looks good on paper; there are no barline complaints or
mismatches. On MIDI, however, the accompaniment starts about one
quarter beat too early. If I add any number 0 < x < 16, there are
many barline, etc. errors. The errors continue up until 703 + 16,
when it's on the barline again. In THAT case, it plays as
expected...accompaniment starts on the beat, one bar too late. In
short, it's either ~1 beat too early or 1 bar too late; I can't seem
to adjust that any.
Will
On Mar 24, 2004, at 8.55 AM, Han-Wen Nienhuys wrote:
address@hidden writes:
As described in a previous e-mail, I have a helluva large cadenza
printed for solo violin. It is unmeasured, and it probably has a
length
only calculatable using 32nd notes. If I want to start tutti playing
back up after the cadenza, what do I do? Include s(x)*32 in every
instrument's ly file to skip over the length of the solo? Needless
to
say, counting the number of 32nd beats in a 10 line cadenza is no
fun.
Is there an easier way?
Can you try something along the lines of
thePart = \notes { ...
\context DevNull \cadenzaMusic
}
Will Oram
spamguy ^^AT^^ foxchange.com // william.oram ^^AT^^ cwru.edu // AIM
spamguy21
_______________________________________________
Lilypond-user mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/lilypond-user
--
=============================================
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44 STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax: (+46) 8 790 7260
Email: address@hidden
WWW: http://www.s3.kth.se/~mabe
=============================================