[chuck-users] record and play multiple LiSa objects on multiple channels

Stiefel, Van VStiefel at wcupa.edu
Sun Apr 10 09:22:49 EDT 2011

If any UGen is placed after lisa.chan(0), lisa.pan will not behave predictably in stereo. You'll need separate UGens to follow LiSa. Something like:

lisa.chan(i) => gain[i] => dac.right

and so forth.

Van Stiefel
Director, Center for Music Technology
West Chester University
Assistant Professor, Department of Theory and Composition
Swope Music Building
College of Visual and Performing Arts
West Chester, PA 19383
From: chuck-users-bounces at lists.cs.princeton.edu [chuck-users-bounces at lists.cs.princeton.edu] on behalf of Kassen [signal.automatique at gmail.com]
Sent: Sunday, April 10, 2011 9:04 AM
To: ChucK Users Mailing List
Subject: Re: [chuck-users] record and play multiple LiSa objects on multiple channels


works correctly on all three versions, as you see also adc.chan(0) =>
dac.chan(0) works .

Ok, so then it's a LiSa issue and hopefully Dan will have a moment to look into it. I think Dan was experimenting with multi-channel looping and this seems to be a side-effect of that.

I got confused when looking at sndbuf's code. lisa should be similar.
How is the multichannel code supposed to work?
LiSaMulti_tick didn't change from to current, so the problem
must be elsewhere.

Hmmmm. I think LiSa is quite independent of SndBuf and is instead based on a Max/Msp tool.

somewhere would make a gain stereo. Note that only the 2, 2 and the
UGen_Stereo make the difference.
Also from my first impressions, LiSa, sndbuf etc. don't use UGen_Multi
or UGen_Stereo. So for such things they seem to be missing features.
I think, one problem is that the number of channels is an attribute of
a type. Most things in chuck are dynamic, so making the number of
channels fixed when creating the type object doesn't make sense to me.

Yes, that sounds sensible to me.

ok, the voices are a special thing, I didn't take them into account.

LiSa is really way more involved than the rest, more powerful but also a bit more tricky to understand.

C++'s polymorphic functions are often a problematic concept. Perhaps
rateVoice would be a better name. Or e.g. my_lisa.voice(v).rate(2.0)
would make it more clear.

Yes, but at the expense of uniformity. Personally I'm very much in favour of keeping things uniform as that means there are less surprises and there is less to learn. I can see how this would be a topic for debate though.

btw. should I've written some of the low level developer topics to chuck-dev?
I wrote it here, because chuck-dev seems to be dead.
Where do the devs meet?

I feel all of this should be fine here. The dev-list is where the dev discussion "should" go but for some reason it isn't. I don't know. :-)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20110410/394477d7/attachment.html>

More information about the chuck-users mailing list