We haven't completed really integrating the new changes in libpd yet ala an official libpd_* API that should help with these kinds of issues. If you run in good ways to isolate the instance calls so problems don't happen, let us know.
Also, the current pd sources are not up to date with the 0.48 release. I will do that for now at least.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Note: There is currently an issue with the pd sources and libpd: https://github.com/pure-data/pure-data/issues/180 https://github.com/pure-data/pure-data/issues/180
On Aug 14, 2017, at 12:52 PM, Dan Wilcox danomatika@gmail.com wrote:
Also, the current pd sources are not up to date with the 0.48 release. I will do that for now at least.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Ahh, okay. Maybe I'll see about running libpd with a slightly older pure-data source submodule.. Thanks for the heads up! -Alex
On Mon, Aug 14, 2017 at 4:29 AM, Dan Wilcox danomatika@gmail.com wrote:
The build issue is fixed and libpd is now using pd 0.48-0. No official release yet, but you can try the current master branch.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Hey,
I did the update and that, or moving my call to create a pd_instance to after libpd_init() resolved my issue.. Now my problem is that I have multiple different plugins using libpd in the same memory space and I'm not sure if: 1) is it safe to call libpd_init() multiple times, potentially while pd_instances exist and might be executing in another thread? 2) is there any way to see if libpd has been intialized and not call libpd_init() ? libpd_bind("PDLV2-TEST"); and before calling libpd_init I'd test.. if (libpd_exists("PDLV2-TEST") != 0) but that causes a segfault now.. maybe I just need to submit a bug report for that.
Thanks! Alex
On Thu, Aug 17, 2017 at 5:27 PM, Dan Wilcox danomatika@gmail.com wrote:
Yeah, we haven't integrated the new stuff into the libpd api yet. Look at the multi instance example in c/samples.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
yeah, that is what I based my changes off of. What all needs to be done to integrate the new 'stuff'? Maybe I'd try my hand at it. Is the goal to switch pd instances before calling the libpd calls or pass a pd_instance to the libpd calls? -Alex
On Fri, Aug 18, 2017 at 8:54 AM, Dan Wilcox danomatika@gmail.com wrote:
Something like that. The simplest solution is to just wrap pd_setinstance as libpd_setinstance, etc. Miller updated the pd_multi sample since you may have last seen it...
On Aug 18, 2017, at 6:29 PM, Alex x37v.alex@gmail.com wrote:
Is the goal to switch pd instances before calling the libpd calls or pass a pd_instance to the libpd calls?
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
Also, libpd_init currently just returns a -1 if it's already been inited once before, so you can call it multiple times.
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
oh great, if I can call libpd_init multiple times that is great. I'll look at the pd_multi again too,. THANKS!
On Fri, Aug 18, 2017 at 9:32 AM, Dan Wilcox danomatika@gmail.com wrote:
One more thing, the new instance support means the C layer now uses sys_lock, so we longer need locks or synchronization in the language wrappers. We haven't updating any of that yet so if you're using C++, you can build it without the mutex with the compile define.
Similarly, I have a working libpd.dll builtin minnow which works in Visual Studio. This necessitated making the C++ wrapper header-only. I haven't integrated that into the master branch yet either.
SO some changes coming, but probably not right away...
-------- Dan Wilcox @danomatika http://twitter.com/danomatika danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/
eh, I'm not sure if i enabled the mutex before.. Thanks Dan!
On Fri, Aug 18, 2017 at 9:42 AM, Dan Wilcox danomatika@gmail.com wrote: