<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="yiv1363080221"><div id="yui_3_16_0_1_1441030696368_3455"><div id="yui_3_16_0_1_1441030696368_3454" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div class="" dir="ltr" id="yui_3_16_0_1_1441030696368_8126">Sorry
 I haven't made a screencast.  I'm just putting off doing the 
"GNU/Linux Dance of Choice" where I try out the 9 unusable screencast 
tools before finding the only one that's minimally operable (or not).<br class="" id="yui_3_16_0_1_1441030696368_8944"></div><div id="yui_3_16_0_1_1441030696368_9033"><br></div><div id="yui_3_16_0_1_1441030696368_9032">Imagine you have a drawing instruction like this:</div><div id="yui_3_16_0_1_1441030696368_6378">[draw rect 0 0 20 20]</div><div id="yui_3_16_0_1_1441030696368_6377"><br></div><div id="yui_3_16_0_1_1441030696368_6376">When you create the scalar you get a little black box on a canvas.</div><div id="yui_3_16_0_1_1441030696368_8120"><br></div><div id="yui_3_16_0_1_1441030696368_8119">With a canvas field like I described, you can right-click the scalar and choose "Open" to show a canvas window.<br></div><div id="yui_3_16_0_1_1441030696368_5117"><br></div><div id="yui_3_16_0_1_1441030696368_5118">You could put this in that canvas window:</div><div id="yui_3_16_0_1_1441030696368_5558"><br></div><div id="yui_3_16_0_1_1441030696368_5559">[ \  <- number box<br></div><div id="yui_3_16_0_1_1441030696368_5560">|</div><div id="yui_3_16_0_1_1441030696368_5561">[field x]<br></div><div id="yiv1363080221yui_3_16_0_1_1440729675452_3679"><span></span></div>  <br clear="none"><div id="yui_3_16_0_1_1441030696368_3453" class="yiv1363080221qtdSeparateBR"><div id="yui_3_16_0_1_1441030696368_6275">And when you scroll the number box, the little black box will move horizontally.<br></div><div id="yui_3_16_0_1_1441030696368_6381"><br></div><div id="yui_3_16_0_1_1441030696368_5649">This is even more powerful when used with all the methods I added to drawing instructions:</div><div id="yui_3_16_0_1_1441030696368_5829"><br></div><div id="yui_3_16_0_1_1441030696368_6274" dir="ltr">[struct foo float x float y float r canvas a b]<br></div><div id="yui_3_16_0_1_1441030696368_6471"><br></div><div id="yui_3_16_0_1_1441030696368_5830">[loadbang]</div><div id="yui_3_16_0_1_1441030696368_6476">|</div><div id="yui_3_16_0_1_1441030696368_6475" dir="ltr">[transform rotate r(</div><div id="yui_3_16_0_1_1441030696368_6474" dir="ltr">|</div><div id="yui_3_16_0_1_1441030696368_6181" dir="ltr">[draw rect 0 0 20 20]</div><div id="yui_3_16_0_1_1441030696368_6472" dir="ltr"><br></div><div id="yui_3_16_0_1_1441030696368_6473" dir="ltr">And put this in the canvas field:<br></div><div id="yui_3_16_0_1_1441030696368_6182" dir="ltr"><br></div><div id="yui_3_16_0_1_1441030696368_6183" dir="ltr">[  \ <- number box<br></div><div id="yui_3_16_0_1_1441030696368_6184">|</div><div id="yui_3_16_0_1_1441030696368_6180">[field r]</div><div id="yui_3_16_0_1_1441030696368_6185"><br></div><div id="yui_3_16_0_1_1441030696368_6186">Now you can rotate the square from inside the canvas field.</div><div id="yui_3_16_0_1_1441030696368_7453"><br></div><div id="yui_3_16_0_1_1441030696368_7454">Similarly, if you had an image sequence of Mario, you could use [draw sprite], associate the index with a field, and then let Mario animate himself using his canvas field. :)</div><div id="yui_3_16_0_1_1441030696368_8125"><br></div><div id="yui_3_16_0_1_1441030696368_8124" dir="ltr">BTW-- right now, if [field z] can't find a "z" field in its t_word vec, it outputs an error.  But if we're in an array, I suppose I could have it also search the parent scalar for such a field.  If it did that, it'd be something like a closure in Pd.  For example, you could have an array of Marios, all of whom have their own personal data like "x", "y", and "index", but all of whom also _share_ data like "world", "enemies", and "time".</div><div id="yui_3_16_0_1_1441030696368_8845" dir="ltr"><br></div><div id="yui_3_16_0_1_1441030696368_8846" dir="ltr">-Jonathan<br></div><div id="yui_3_16_0_1_1441030696368_6179"><br></div></div><div class="yiv1363080221yqt4633015421" id="yiv1363080221yqt96869"></div></div></div><div class="yiv1363080221yqt4633015421" id="yiv1363080221yqt70233"><title></title><div id="yui_3_16_0_1_1441030696368_3317"><div id="yui_3_16_0_1_1441030696368_3316"><div id="yui_3_16_0_1_1441030696368_3452">hey List, Jonathan.<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3451"> </div>
<blockquote id="yui_3_16_0_1_1441030696368_3430"><div id="yui_3_16_0_1_1441030696368_3445">You start with a struct:[struct foo float x float y canvas a b]<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3444">Then create a scalar from this struct.<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3443">The scalar will have an "x" value, a "y" value, and a canvas "a" which gets filled with the contents of an abstraction "b.pd" that is somewhere in Pd's search path.<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3442">Now here's the neat thing-- inside the newly instantiated "b.pd" you can do this:<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3441">[loadbang]|[field x]|[print x]<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3440">When you instantiate that scalar above, its canvas "a" will print out the value of the "x" field for that scalar.  In other words, the "a" canvas has access to all the field data of the scalar it belongs to.<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3432">The interface is exactly like [v], which means you can do this:<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3431">[loadbang]|[f]x[+ 1]|[field x]<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3429">This will _change_ the value of "x" for the parent scalar.  So if you drew a little rectangle, when you instantiate your scalar you'll see it moving across the screen.<br clear="none"></div>
</blockquote><div id="yui_3_16_0_1_1441030696368_3340"> </div>
<div id="yui_3_16_0_1_1441030696368_3338">sounds really brainfunky! i'd love to see this in "action" in a screencast, cuz i just cant imagine how <br clear="none"></div>
<blockquote id="yui_3_16_0_1_1441030696368_3337"><div id="yui_3_16_0_1_1441030696368_3336"><span id="yui_3_16_0_1_1441030696368_3335" class="yiv1363080221highlight" style="background-color:rgb(231, 235, 242);"><span id="yui_3_16_0_1_1441030696368_3334" class="yiv1363080221colour" style="color:rgb(42, 73, 125);">the "a" canvas has access to all the field data of the scalar it belongs to.</span></span><br clear="none"></div>
</blockquote><div id="yui_3_16_0_1_1441030696368_3333"> </div>
<div id="yui_3_16_0_1_1441030696368_3332">cheers<br clear="none"></div>
<div id="yui_3_16_0_1_1441030696368_3315">~/.jc <br clear="none"></div>
</div>

<br clear="none">_______________________________________________<br clear="none"><a rel="nofollow" shape="rect" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none">UNSUBSCRIBE and account-management -> <a id="yui_3_16_0_1_1441030696368_3433" rel="nofollow" shape="rect" target="_blank" href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a><br clear="none"><br clear="none"><br clear="none">     </div></div></div><div class=".yiv1363080221yahoo_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 Tuesday, August 25, 2015 11:25 AM, jamal crawford <threen52@ml1.net> wrote:<br clear="none"> </font> </div>  <br clear="none"><br clear="none"> <div class="yiv1363080221y_msg_container"><div id="yiv1363080221">


</div></div></div></div></div></div></body></html>