Rob;<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">*Whew* -- thanks -- I was worried that I was suffering a dissociative fugue (not to be confused with a counter-fugue).<br>

</blockquote><div><br>Just because ChucK has bugs doesn&#39;t mean you&#39;re not insane, these two factors might be independent :¬p.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
A hint to the hunting party: the &quot;wrong&quot; time returned by now always seems to be an integer.  It&#39;s as if the fractional part is getting lopped off - either by truncation or rounding, I&#39;m not sure which.<br>

</blockquote><div><br>There is definitely some rounding error going on. Here is a edit of the code that lops off some zeros. This version never prints &quot;bang&quot; in 1.2.1.2.<br><br>=================<br>Event _e;<br>
time _t;<br>time foo;<br><br>spork ~ beatProcess();<br><br>while (true) {<br>   now + 1.01::second =&gt; _t;<br>   _e =&gt; now;<br>   if (foo &gt; now) &lt;&lt;&lt;&quot;bang&quot;&gt;&gt;&gt;;<br>   now =&gt; foo;<br>   <br>
   &lt;&lt;&lt; &quot;returned from _e =&gt; now at&quot;, now &gt;&gt;&gt;;<br>}<br><br>fun void beatProcess() {<br>   while (true) {<br>       _t =&gt; now;<br>       if (foo &gt; now) &lt;&lt;&lt;&quot;bang&quot;&gt;&gt;&gt;;<br>
       now =&gt; foo;<br>       &lt;&lt;&lt; &quot;broadcasting at&quot;, now &gt;&gt;&gt;;<br>       _e.broadcast();<br>       //me.yield();<br>       samp =&gt; now;<br>   }<br>}<br>==========================<br><br> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Fetch me my halberd!<br>
</blockquote><div><br>I think it&#39;s hiding in rounding in the Shreduler, let&#39;s set fire to the shreduler and see if it comes out! <br><br>In all seriousness; this sounds tricky, I reported a hard to pinpoint execution order error to Ge before and said I suspected something had changed in the shreduler since last version. Ge replied he couldn&#39;t remember changing anything to it. The odd thing is that the bug I saw would come and go with using different samples (as in .wav files) but clearly samples only come in integer durations if we express them in samp&#39;s.<br>
<br>Grumble. Oh, well, at least we&#39;ve got it cornered.<br><br>Kas.<br></div></div>