<p>My fault, you&#39;re right.  I&#39;m happily wrong about this one.</p>
<p>Cheers,<br>
Brandon</p>
<p><blockquote type="cite">On Dec 22, 2010 9:52 AM, &quot;Roman Haefeli&quot; &lt;<a href="mailto:reduzent@gmail.com">reduzent@gmail.com</a>&gt; wrote:<br><br><p><font color="#500050">On Wed, 2010-12-22 at 09:01 -0500, brandon zeeb wrote:<br>
&gt; If Pd&#39;s default block size is 64 samples, a...</font></p>Not true. Events a.k.a messages are &#39;virtually&#39; [1] processed at any<br>
time (literally any time, which includes any time between samples. The<br>
only restriction is the resolution of the 32bit floating point number<br>
format used by Pd).<br>
<br>
This can be easily shown with this little patch:<br>
<br>
[metro 3.1415]<br>
|<br>
[t b b]<br>
|    |<br>
[timer]<br>
|<br>
[3.1415\ &lt;- number box<br>
<br>
You can change the metro to any value and [timer] will report back<br>
exactly that value. AFAIK, this exact timing occurs as long we&#39;re<br>
considering the message-only domain.<br>
<br>
However, there are some objectclasses which accept messages at the<br>
inlets and produce signals at the outlets, e.g. [sig~]. Many (almost<br>
all?) of them only evaluate the messages _at_ block boundaries and thus<br>
the resulting signal can only be changed at block boundaries. This<br>
effect makes the messages look like they only happen at block<br>
boundaries, although they actually happen at any time.<br>
<br>
There are other objects that work in both, message and signal domain,<br>
which don&#39;t suffer from that problem: [vline~] and [vsnapshot~]. Both<br>
take the exact timing of the message into account.<br>
<br>
<br>
[1]: I say &#39;virtually&#39;, because Pd actually really computes one or<br>
several events only once per block, though is this done transparently<br>
when looking from the outside.<br>
<br>
<br>
Summary:<br>
<br>
* [metro] and [del] are as accurate as you can wish them to be.<br>
<br>
* Always use [vline~] when timing-exact conversion from message to<br>
signal matters<br>
<br>
* most tilde-classes with message inlets ignore the timing of the<br>
messages<br>
<br>
* You don&#39;t need lower block sizes for having exact timing in the<br>
message domain<br>
<br>
* Messages triggered from  external sources (GUIs [bng]/[hslider] etc.,<br>
MIDI [midiin]/[ctlin] etc., networking [netreceive] etc., serial<br>
[comport], etc.) usually don&#39;t have more exact timing than the block<br>
size.<br>
<font color="#888888"><br>
Roman<br>
<br>
<br>
<br>
<br>
</font></blockquote></p>