<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hey Forrest,<div class=""><br class=""></div><div class="">Haven't really had a chance to take a closer look at the code, but from your description, I think Chubgraphs might be able to help you out with this. If you haven't tried them out, Chubgraphs have a built-in outlet, and if you connect all AdditivePartials to it, you should be able to simply connect/disconnect the Additive instance, which takes care of all the partials. Here's a bit of useful info on them:</div><div class=""><br class=""></div><div class=""><a href="http://chuck.stanford.edu/extend/#chubgraphs" class="">http://chuck.stanford.edu/extend/#chubgraphs</a></div><div class=""><br class=""></div><div class="">Chubgraphs are a good way to create your own flexible classes that can be part of audio chains, so maybe this is something like what you have in mind?</div><div class=""><br class=""></div><div class="">Hope it helps!</div><div class=""><br class=""></div><div class="">JP</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 4/01/2019, at 4:44 PM, Forrest Cahoon &lt;<a href="mailto:forrest.cahoon@gmail.com" class="">forrest.cahoon@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Thanks! This was totally evading me.</div><div class=""><br class=""></div><div class="">So even though I haven't called b.play(), its AdditivePartials will make sound when time advances -- that's what I was missing.<br class=""></div><div class="">Another option that works is to set the gain of each partial to 0 in init and at the end of play().</div><div class=""><br class=""></div><div class="">What I would really like is be able to write these classes in some way that I can connect the signal chain using the Additive object, like</div><div class=""><br class=""></div><div class="">Additive a =&gt; NRev r =&gt; dac;</div><div class=""><br class=""></div><div class="">which would somehow call a method on a to hook up the signal chain to all the partials behind the scenes. Is that at all possible?</div><div class="">Or failing that, some other way I can specify the signal chain for individual Additive objects outside the class (e.g. a connectSignal() method)?</div><div class=""><br class=""></div><div class="">Forrest<br class=""></div><br class=""><div class=""><div class=""><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Jan 3, 2019 at 1:30 AM Joel Matthys &lt;<a href="mailto:jwmatthys@gmail.com" class="">jwmatthys@gmail.com</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Hey Forrest.</div><br class=""><div class="">I messed around for a long time with your code before it finally struck me:</div><br class=""><div class="">You connected your AdditivePartials to the dac too soon!</div><br class=""><div class="">In your code you connect <font style="font-family:monospace" class="">this=&gt;dac</font> when the AdditivePartials are instantiated, but you don't set gain and freq until you <font style="font-family:monospace" class="">spork~ play</font>.</div><br class=""><div class="">So when you pass the first <font style="font-family:monospace" class="">0.5:</font><font style="font-family:monospace" class=""><span class="">:second</span></font><font style="font-family:monospace" class=""> =&gt; now</font>, Additive b is sounding at full gain on default settings.</div><br class=""><div class="">If you move <font style="font-family:monospace" class="">this =&gt; dac</font> from the init function to the top of the play function, all is well. You should probably add <font style="font-family:monospace" class="">this =&lt; dac</font> at the end of your play function too.</div><br class=""><div class="">Joel</div><br class=""><div class=""><u class=""></u><div class=""><div class="">Sent from <a href="https://link.getmailspring.com/link/1546499923.local-a2481a69-52f7-v1.5.4-1d923cf4@getmailspring.com/0?redirect=https%3A%2F%2Fgetmailspring.com%2F&amp;recipient=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D" target="_blank" class="">Mailspring</a>, the best free email app for work</div></div><u class=""></u></div><div class="gmail-m_357623576467901216gmail_quote_attribution">On Jan 2 2019, at 10:02 pm, Forrest Cahoon &lt;<a href="mailto:forrest.cahoon@gmail.com" target="_blank" class="">forrest.cahoon@gmail.com</a>&gt; wrote:</div><blockquote class=""><div class=""><div class=""><div class=""><div class="">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.</div><div class=""><br class=""></div><div class=""><div class="">My ChucK code is here:</div></div><div class=""><a href="https://link.getmailspring.com/link/1546499923.local-a2481a69-52f7-v1.5.4-1d923cf4@getmailspring.com/1?redirect=https%3A%2F%2Fgist.github.com%2Fforrcaho%2F21acdb25e05a8620f56dba591cd52ed5&amp;recipient=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D" title="https://gist.github.com/forrcaho/21acdb25e05a8620f56dba591cd52ed5" target="_blank" class="">https://gist.github.com/forrcaho/21acdb25e05a8620f56dba591cd52ed5</a></div><div class=""><br class=""></div><div class="">I have a class called AdditivePartial and one called Additive which contains an array of AdditivePartial objects.</div><div class=""><br class=""></div><div class="">The Additive objects play method sporks the play method for all its partials.</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">I've looked at the output in Sonic Visualiser and that confirmed this is what's happening, at least on my linux machine.</div><div class=""><br class=""></div><div class="">Can anyone reproduce this behavior, or does it work for you? If you can reproduce it, what the heck is going on?</div><div class=""><br class=""></div><div class="">Forrest</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></div></div><div class="">_______________________________________________</div><div class="">chuck-users mailing list</div><div class=""><a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank" class="">chuck-users@lists.cs.princeton.edu</a></div><div class=""><a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank" class="">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a></div></div></blockquote><img class="gmail-m_357623576467901216mailspring-open" alt="Sent from Mailspring" style="border: 0px none; width: 0px; height: 0px;" src="https://link.getmailspring.com/open/1546499923.local-a2481a69-52f7-v1.5.4-1d923cf4@getmailspring.com?recipient=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D" width="0" height="0">_______________________________________________<br class="">
chuck-users mailing list<br class="">
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank" class="">chuck-users@lists.cs.princeton.edu</a><br class="">
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank" class="">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br class="">
</blockquote></div></div></div>
_______________________________________________<br class="">chuck-users mailing list<br class=""><a href="mailto:chuck-users@lists.cs.princeton.edu" class="">chuck-users@lists.cs.princeton.edu</a><br class="">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users<br class=""></div></blockquote></div><br class=""></div></body></html>