<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1443287521478_3502">Hi Matt,</div><div id="yui_3_16_0_1_1443287521478_4609" dir="ltr">In my day-long block example, the [metro 150] is "triggering" the [tgl] to [vline~].  I am just using</div><div id="yui_3_16_0_1_1443287521478_5531" dir="ltr">day-long blocks to show that once a block has been computed you can't use [vline~] to travel back in time and change it.  You have to wait till Tuesday-- the next block.<br></div><div id="yui_3_16_0_1_1443287521478_5416"><br></div><div id="yui_3_16_0_1_1443287521478_5533">Of course you could have sent a bang to a [delay] object on Sunday that triggers the [metro 150] to</div><div id="yui_3_16_0_1_1443287521478_5597" dir="ltr">start on noon, Monday.  But the point is you have to start somewhere-- whether it's GUI events or</div><div id="yui_3_16_0_1_1443287521478_6892" dir="ltr">loading a patch.<br></div><div id="yui_3_16_0_1_1443287521478_5682" dir="ltr"><br></div><div id="yui_3_16_0_1_1443287521478_5716" dir="ltr">This isn't a big deal for Pd users because-- again-- I can't think of a case where this ends up getting</div><div id="yui_3_16_0_1_1443287521478_6221" dir="ltr">in their way.  But when people start inspecting the code, I think they have to understand this.  It's</div><div id="yui_3_16_0_1_1443287521478_6732" dir="ltr">way too tantalizing to just assume that sub-block accuracy means you have to be able to interrupt</div><div id="yui_3_16_0_1_1443287521478_6731" dir="ltr">a perform routine in the middle of calculations.  That isn't true, but a) it's not obvious why it isn't</div><div id="yui_3_16_0_1_1443287521478_6809" dir="ltr">true, and b) externals that check for clock events in a perform routine are almost certainly doing</div><div id="yui_3_16_0_1_1443287521478_6808" dir="ltr">it wrong.</div><div id="yui_3_16_0_1_1443287521478_6733" dir="ltr"><br></div><div id="yui_3_16_0_1_1443287521478_6984" dir="ltr">But again, check my logic because this stuff is difficult to understand and harder to explain. :)<br></div><div id="yui_3_16_0_1_1443287521478_6985" dir="ltr"><br></div><div id="yui_3_16_0_1_1443287521478_5160">-Jonathan</div><div id="yui_3_16_0_1_1443287521478_3504" dir="ltr"><br></div>  <br><div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"> <font face="Arial" size="2"> On Saturday, September 26, 2015 12:51 PM, Matt Barber <brbrofsvl@gmail.com> wrote:<br> </font> </div>  <br><br> <div class="y_msg_container"><div id="yiv2963896480"><div><div dir="ltr"><div class="yiv2963896480gmail_default" style="font-family:verdana, sans-serif;">It depends on what you mean by "trigger". Triggered by the mouse, I think you're right. But see the attached patch. Since [del] (among other objects, but I used [del] here for clarity) can schedule bangs between boundaries, you can trigger [vline~] in the middle of blocks. Not so with [line~]: if a bang is scheduled in that block, it starts the ramp at the beginning of that block and ends it at the end of a future block such that the total ms of the ramp does not exceed the requested ms.</div></div><div class="yiv2963896480yqt2717930850" id="yiv2963896480yqt82631"><div class="yiv2963896480gmail_extra"><br clear="none"><div class="yiv2963896480gmail_quote">On Sat, Sep 26, 2015 at 12:01 PM, Jonathan Wilkes <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:jancsika@yahoo.com" target="_blank" href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>></span> wrote:<br clear="none"><blockquote class="yiv2963896480gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div>What I mean is that both [line~] and [vline~] receive their messages on block boundaries.</div><div>But unlike [line~], [vline~] can start/end ramps and jump to the values you give it without being</div><div dir="ltr">limited by block boundaries.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Another example with my day-long block sizes:<br clear="none"></div><div dir="ltr">At noon on Monday you send a bang to [metro 150]--[tgl]--[vline~].  You'll have</div><div>to wait until noon Tuesday to hear the result, but you _will_ hear that same pattern of ones and</div><div dir="ltr">zeros spaced 150ms apart that you were sending on Monday, even though the block size lasts a</div><div dir="ltr">day.  That's the strength of [vline~].<br clear="none"></div><div><br clear="none"></div><div>On the other hand, the [line~] object would just take the last [tgl] value it received on Monday</div><div dir="ltr">(before it begins computing Tuesday's block), and it would just repeat that value the entire day of Tuesday.  If you had sent it a ramp time, you would get your ramp Tuesday, but it would necessarily</div><div dir="ltr">stretch across the entire day of Tuesday because that is the block size.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Essentially-- you can't send a message that would interrupt the [vline~] object's perform routine</div><div dir="ltr">and feed it new values.  But because block sizes are usually small, I can't think of a</div><div dir="ltr">situation where you'd need to do that.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">It occurs to me I could be wrong about any or all of this.  If so I'm certain Matt or Miller can set</div><div dir="ltr">me straight.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">-Jonathan<span class="yiv2963896480HOEnZb"><font color="#888888"><br clear="none"></font></span></div><span class="yiv2963896480HOEnZb"><font color="#888888"></font></span><div dir="ltr"><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">-Jonathan<br clear="none"></div><div><div class="yiv2963896480h5"><div><span></span></div>  <br clear="none"><div><br clear="none"><br clear="none"></div><div style="display:block;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"> <font face="Arial" size="2"> On Saturday, September 26, 2015 10:24 AM, i go bananas <<a rel="nofollow" shape="rect" ymailto="mailto:hard.off@gmail.com" target="_blank" href="mailto:hard.off@gmail.com">hard.off@gmail.com</a>> wrote:<br clear="none"> </font> </div>  <br clear="none"><br clear="none"> <div><div><div>In that case, maybe an even simpler question:  <div><br clear="none"></div><div>What is the difference between sending a [1, 0 50(  message to vline as opposed to line ?  </div><div><br clear="none"></div><div>Why does line exhibit jitter, if both only trigger on block boundaries?  </div></div></div><br clear="none"><br clear="none"></div>  </div> </div>  </div></div></div></div></div></blockquote></div><br clear="none"></div></div></div></div><br><br></div>  </div> </div>  </div></div></body></html>