If I’m understanding what you’re looking for correctly, I think you can do that with this:
It allows you to crossfade between a list of value streams or event streams, using several algorithms for blending values.
(
Pdef(\a, Pbind(
\octave, 3, \degree, 0,
\amp, 0.5
));
Pdef(\b, Pbind(
\octave, 4, \degree, 0,
\amp, 1
));
Pdef(\c, Pbind(
\octave, 5, \degree, Pseq([3, 5], inf),
\legato, 2,
\amp, 0.1
));
Pdefn(\xfadeEventTest,
Pbind(\dur, 1/6)
<> Pxfade(
[
Pdef(\a),
Pdef(\b),
Pdef(\c),
],
Pseg([0, 2], [20]), // envelope morphing through the three event streams
\event,
\randBlend
).trace
).play;
)
Word of warning - there’s a lot packed into this class, and I’ve used it on exactly one project, so it has seen only limited testing. Enjoy