[chuck-users] Problem with reverb and multi-voices

Tom Lieber lieber at princeton.edu
Sun Jan 4 17:58:16 EST 2009

2009/1/4 Andrew C. Smith <acsmith at willamette.edu>:
> I'm sure there's an easy way to do this, but I'm out of practice.
> Trying to warm myself back up before the Max5-compatible chuck~ is
> ready.
> I'll attach my code, but the basic problem is that if I hit the SMS
> twice, the smack spork will change the reverb and gain levels for
> everything, so that I can't layer voices with different settings.  Is
> there a better way to organize this?  Probably.  The y-hit is supposed
> to change the g.gain, while the x-hit changes the rev.mix.  Just an
> experiment with the SMS to impress my friends (they're easily
> impressed).

If it were me, I'd make a new pair of rev/g in smack(), chuck the
voice to it, then unchuck it on the way out. You're making shreds
pretty fast so that may not lead to a script you can leave running for
a long time, but it'd have the desired effect.

On the other hand, if you're limited to the number of voices LiSa has
anyway, you may as well make a bank of JCRev attached to Gains with
indices that match LiSa's voice numbers, attach LiSa to all of them,
and adjust their gains in smack(). Like:

JCRev revs[yell.maxVoices()];
Gain gains[yell.maxVoices()];
for(0 => int i; i < revs.size(); i++) {
	revs[i] => gains[i] => dac;
	0 => revs[i].gain;
fun void smack() {
		rev_mix => revs[voice1].mix;
		g_gain => gains[voice1].gain;
		1 => revs[voice1].gain;
		yell.play(voice1, 1);
		yell.duration() => now;
		yell.play(voice1, 0);
		0 => revs[voice1].gain;

(unless I'm mistaken about how LiSa voices work! I haven't used it in
a long time..)

> ps: is it possible to switch subscription from digest to regular
> list-serve?  Thanks.

I'm sure it's an option on the page you get to when you submit the
"Unsubscribe or edit options" form at the bottom:


Tom Lieber

More information about the chuck-users mailing list