<html><head></head><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_1457628131503_10727">Hi Liam,</div><div id="yui_3_16_0_1_1457628131503_15810">Multiple arguments to [send] would be handy.  But I think there is a deeper <br></div><div id="yui_3_16_0_1_1457628131503_14700">problem:</div><div id="yui_3_16_0_1_1457628131503_16437"><br></div><div dir="ltr">Why do iemguis only let you bind a single receive and a single send symbol?  What <br></div><div dir="ltr">you seem to need is one *shared* receive symbol-- something like <br></div><div id="yui_3_16_0_1_1457628131503_16550" dir="ltr">"$0-my-frontend-class"-- and one unique symbol-- like the ones you have in your <br></div><div id="yui_3_16_0_1_1457628131503_16551" dir="ltr">example.</div><div dir="ltr"><br></div><div id="yui_3_16_0_1_1457628131503_16552" dir="ltr">But hiding that kind of complexity in an iemgui dialog is a bad idea (and is likely to create other problems).  Anyway, you can always hook a [r $0--my-frontend-class] into the inlet <br></div><div id="yui_3_16_0_1_1457628131503_16553" dir="ltr">of the iemgui, and maybe use gop abstraction wrappers to make it somewhat <br></div><div id="yui_3_16_0_1_1457628131503_16554" dir="ltr">manageable.</div><div id="yui_3_16_0_1_1457628131503_16555" dir="ltr"><br></div><div id="yui_3_16_0_1_1457628131503_16556" dir="ltr">But then the question really is: why use hidden send/receive/init at _all_ in a language <br></div><div id="yui_3_16_0_1_1457628131503_16564" dir="ltr">whose chief benefit is showing you how data flows?  At least with [s] and [r] you <br></div><div id="yui_3_16_0_1_1457628131503_16563" dir="ltr">see a stump and the symbol that continues the flow of data.  Even in your example, <br></div><div id="yui_3_16_0_1_1457628131503_16557" dir="ltr">you can easily have a bug where you misspelled one of the receive names in your <br></div><div id="yui_3_16_0_1_1457628131503_16558" dir="ltr">iemgui, and you'd have to manually open a dialog in order to notice it.<br></div><div id="yui_3_16_0_1_1457628131503_16559" dir="ltr"><br></div><div id="yui_3_16_0_1_1457628131503_16560" dir="ltr">My suggestion would be to use those iemgui settings only for prototyping small <br></div><div id="yui_3_16_0_1_1457628131503_16561" dir="ltr">experiments, and use explicit wires, [s]/[r], and GOP abstractions to deal with larger <br></div><div id="yui_3_16_0_1_1457628131503_16562" dir="ltr">patches.  I think you'll end up with more manageable code that's less buggy.<br></div><div id="yui_3_16_0_1_1457628131503_16620" dir="ltr"><br></div><div id="yui_3_16_0_1_1457628131503_16621" dir="ltr">Jonathan<br></div><div id="yui_3_16_0_1_1457628131503_15093" dir="ltr"><br></div><div id="yui_3_16_0_1_1457628131503_16622" dir="ltr"><br></div><div class=".yiv8374287458yahoo_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 class="qtdSeparateBR"><br><br></div><div class="yiv8374287458yqt6655527815" id="yiv8374287458yqtfd31156"><div dir="ltr"><font face="Arial" size="2"> On Thursday, March 10, 2016 9:46 AM, IOhannes m zmoelnig <zmoelnig@iem.at> wrote:<br clear="none"></font></div>  <br clear="none"><br clear="none"> <div class="yiv8374287458y_msg_container">On 2016-03-05 14:55, Liam Goodacre wrote:<br clear="none">> The only way I can see of using the right inlet to achieve a multiple send involves [list-drip] and one [float] object, which isn't very efficient.<br clear="none"><br clear="none">why do you need it to be efficient.<br clear="none">don't get me wrong, efficiency is always a good thing;<br clear="none">but the use-case you gave is not something that will be executed each<br clear="none">sample-block: you wouldn't see the color-change each 1.5ms anyhow.<br clear="none">other use-cases (that do not involve GUI-objects) most likely can get<br clear="none">away with a cleaner design.<br clear="none">a pattern i regularily use is [route] and a special "all" selector (e.g.<br clear="none">"*"), as in:<br clear="none"><br clear="none">[r channelgain]<br clear="none">|<br clear="none">[route *]<br clear="none">|       |<br clear="none">|       [route $1]<br clear="none">| +-----+<br clear="none">|/<br clear="none">|<br clear="none"><br clear="none">and let "$1" be the unique ID of the object (e.g. "1" or "sub")<br clear="none"><br clear="none"><br clear="none">if performance is so important to you, a more efficient way is to use<br clear="none">different receive-labels<br clear="none"><br clear="none">[r channelgain-*]<br clear="none">|<br clear="none">| [r channelgain-$1]<br clear="none">|/<br clear="none">|<br clear="none"><br clear="none"><br clear="none">(iirc, this is more efficient than a [send cg-1 cg-2 ...] could be.<br clear="none"><br clear="none">>  It would also get more complicated if you wanted to send something other than floats<br clear="none"><br clear="none">the examples above are agnostic of the actual messsages you send.<br clear="none"><br clear="none">> --you'd have to use [any] which isn't Vanilla.<br clear="none"><br clear="none">no. but [list] is.<br clear="none">it is very easy to mimicj [any] with [list prepend]+[list trim] (unless<br clear="none">you need to distinguish between "list"s with a symbol as the first atom,<br clear="none">and arbitrary messages (with any selector); it get's a bit more<br clear="none">complicated then as you need to distinguish between those two cases, but<br clear="none">it's still doable in a dozen or so vanilla objects.<div class="yiv8374287458yqt5568352569" id="yiv8374287458yqtfd05755"><br clear="none"><br clear="none">> <br clear="none">> You can already send to multiple locations using the [; message( method, but you have to spell the message out every time.</div><br clear="none"><br clear="none">[list prepend set]+[list trim]?<br clear="none"><br clear="none"><br clear="none"><br clear="none">in your case, however, i would just create a single messagebox that<br clear="none">sends the color-message to all the receivers:<br clear="none"><br clear="none">[colorme, graphicr, savingr, safety, ujr, am, em, bm, foo, bar(<br clear="none">|<br clear="none">[pack s $0]<br clear="none">|<br clear="none">[addsemi, add2 $2-$1 color, adddollar 5, adddollar 5, adddollar 3(<br clear="none">|<br clear="none">[ (<br clear="none"><br clear="none">([loadbang] this, make sure the [set( the final messagebox before adding<br clear="none">new receivers)<br clear="none"><br clear="none">fgmasdr<br clear="none">IOhannes<div class="yiv8374287458yqt5568352569" id="yiv8374287458yqtfd02837"><br clear="none"></div><br clear="none"><div class="yiv8374287458yqt5568352569" id="yiv8374287458yqtfd60057">_______________________________________________<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 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"></div><br clear="none"><br clear="none"></div>  </div></div><div class="yiv8374287458yqt6655527815" id="yiv8374287458yqtfd85763"> </div></div><div class="yiv8374287458yqt6655527815" id="yiv8374287458yqtfd37476">  </div></div></div></body></html>