<div dir="ltr"><div><div><div><br></div>Hi everybody,<br></div>Sorry to chime in so late in the conversation...<br><br></div><div>Here's my take on the discussion so far:<br><br></div><div>1. I'm thrilled to see that multiple instances are happening. Thanks, Miller!<br>
<br></div><div>2. If at all possible, we should go all the way and have fully independent instances. Anything else will likely come back to bite us, by requiring additional documentation and other support, confusing developers (and therefore giving rise to bugs), underutilizing multicore systems, excluding use cases that we haven't thought of yet, etc. (And I already have a few use cases where concurrent instances would have been handy.)<br>
<br></div><div>3. As I understand the current state, there are two problems that we need to solve to achieve independent instances. One is a revision of the API to introduce an additional instance parameter. That might be unpleasant to implement but seems feasible. (I always expected that we'd need a completely revised libpd 2.0 when multiple instances become available.) The other one is the shared symbol table.<br>
<br></div><div>4. Miller, you said in your original post that you ran into seemingly insoluble problems when trying to create per-instance symbol tables. Would you mind elaborating on this point?<br><br></div><div>5. Even if we're stuck with a single global symbol table, we may be able to make it thread-safe without having to resort to locks.<br>
<br></div><div>Cheers,<br></div><div>     Peter<br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 22, 2014 at 5:24 PM, Dan Wilcox <span dir="ltr"><<a href="mailto:danomatika@gmail.com" target="_blank">danomatika@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Sure. I guess I don't know what I'm saying :D other than the question: what do we reasonably need? Does the current solution work or is the next step required?<div>
<div class=""><br><div><div>On May 22, 2014, at 5:03 PM, <a href="mailto:pd-dev-request@lists.iem.at" target="_blank">pd-dev-request@lists.iem.at</a> wrote:</div><br><blockquote type="cite"><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
To me, I think the ultimate use case is to be able to fire up two versions of pd in the same processing chain (take vst's in a DAW for example), load each one with identical patches, and have them controlled separately.  This would be a fantastic boost for the ability to extend what we can already do with Pd as an audio processing engine, separated from its native GUI. Locking may be necessary in places, but then that is extremely fast these days.</div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
Of course, this all leads to the pdinstance being able to manage the symbol table along with Miller's recent changes, but what are the difficulties in achieving this? It seems like Miller tried and it was more difficult than what we are imagining.</div>
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
cheers,</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
Rich</div></blockquote></div><br></div><div class=""><div>
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px"><div style="word-wrap:break-word">
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px"><div style="word-wrap:break-word">
<div>--------</div><div>Dan Wilcox</div><div>@danomatika</div><div><a href="http://danomatika.com" target="_blank">danomatika.com</a></div><div><a href="http://robotcowboy.com" target="_blank">robotcowboy.com</a></div><div>
<br></div></div></span><br></div></span><br><br>
</div>
<br></div></div></div><br>_______________________________________________<br>
Pd-dev mailing list<br>
<a href="mailto:Pd-dev@lists.iem.at">Pd-dev@lists.iem.at</a><br>
<a href="http://lists.puredata.info/listinfo/pd-dev" target="_blank">http://lists.puredata.info/listinfo/pd-dev</a><br>
<br></blockquote></div><br></div>