Hey Forrest.

I messed around for a long time with your code before it finally struck me:

You connected your AdditivePartials to the dac too soon!

In your code you connect this=>dac when the AdditivePartials are instantiated, but you don't set gain and freq until you spork~ play.

So when you pass the first 0.5::second => now, Additive b is sounding at full gain on default settings.

If you move this => dac from the init function to the top of the play function, all is well. You should probably add this =< dac at the end of your play function too.

Joel

Sent from Mailspring, the best free email app for work
On Jan 2 2019, at 10:02 pm, Forrest Cahoon <forrest.cahoon@gmail.com> wrote:
Sorry, I tried to come up with a more hello-world example of the problem I'm experiencing, but I really don't know what's going on so I have to post something a bit complex.

My ChucK code is here:
https://gist.github.com/forrcaho/21acdb25e05a8620f56dba591cd52ed5

I have a class called AdditivePartial and one called Additive which contains an array of AdditivePartial objects.

The Additive objects play method sporks the play method for all its partials.

The first Additive object I create appears to ignore the noteAmplitude I have set; it is pegged and clipping. That is, until the second Additive object is sporked, at which point the first object suddenly "remembers" it's noteAmplitude.

I've looked at the output in Sonic Visualiser and that confirmed this is what's happening, at least on my linux machine.

Can anyone reproduce this behavior, or does it work for you? If you can reproduce it, what the heck is going on?

Forrest



_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Sent from Mailspring