<div dir="auto">Seems to work on MacOS Sierra. </div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 20, 2019, 1:55 PM Christof Ressi, <<a href="mailto:christof.ressi@gmx.at">christof.ressi@gmx.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">BTW, I recommend compiling vstplugin~ from the develop branch because I've fixed a bug on Linux where closing JUCE plugins (like Camomile) with the GUI enabled would sometimes crash X11. I can't merge into master yet because the commits are entangled with SuperCollider code which is still under review...<br>
<br>
Christof<br>
<br>
> Gesendet: Sonntag, 20. Januar 2019 um 18:07 Uhr<br>
> Von: "Miller Puckette" <<a href="mailto:msp@ucsd.edu" target="_blank" rel="noreferrer">msp@ucsd.edu</a>><br>
> An: "Christof Ressi" <<a href="mailto:christof.ressi@gmx.at" target="_blank" rel="noreferrer">christof.ressi@gmx.at</a>><br>
> Cc: <a href="mailto:claude@mathr.co.uk" target="_blank" rel="noreferrer">claude@mathr.co.uk</a>, Pd-List <<a href="mailto:pd-list@lists.iem.at" target="_blank" rel="noreferrer">pd-list@lists.iem.at</a>><br>
> Betreff: Re: Re: [PD] loading Camomile plug-ins using vstplugin~<br>
><br>
> Bingo!  I added the RTLD_DEEPBIND flag to the dlopen() call in vstplugin~ and<br>
> my Camomile plug-in sprang to life.<br>
> <br>
> Now, as to _why_ anyone migth want to do this, here's my use case:  I'm<br>
> working with a musician who uses Abelton on a Mac, so I want to write him a<br>
> plug-in.  But I have no usable real-time VST hosts on my old Mac (I keep an<br>
> old MACOS so I can compile Pd back-compatibly).  I also don't have any<br>
> real-time VST hosting software on linux where I'm developing the patch for<br>
> the plug-in.  I could learn Ardour (maybe it's time I did that anyhow) but<br>
> the fastest way I could see to be able to host my plug-in is from Pd, which<br>
> is a piece of software I know well.<br>
> <br>
> cheers<br>
> Miller<br>
> <br>
> On Sun, Jan 20, 2019 at 05:18:56PM +0100, Christof Ressi wrote:<br>
> > maybe the RTLD_DEEPBIND flag to dlopen() could do the trick? <br>
> > <br>
> > <a href="http://man7.org/linux/man-pages/man3/dlopen.3.html" rel="noreferrer noreferrer" target="_blank">http://man7.org/linux/man-pages/man3/dlopen.3.html</a><br>
> > <br>
> > if I understand correctly, with this flag the shared object should prefer its own symbols, in this case pd_init() from the statically linked libpd, not from the Pd app. I don't have time right now to test this, though.<br>
> > <br>
> > and guess what: [vstplugin~] + Camomile actually seems to work on Windows :-D :-D :-D. See attached picture.<br>
> > <br>
> > Christof<br>
> > <br>
> > > Gesendet: Sonntag, 20. Januar 2019 um 14:55 Uhr<br>
> > > Von: "Christof Ressi" <<a href="mailto:christof.ressi@gmx.at" target="_blank" rel="noreferrer">christof.ressi@gmx.at</a>><br>
> > > An: Pd-List <<a href="mailto:pd-list@lists.iem.at" target="_blank" rel="noreferrer">pd-list@lists.iem.at</a>><br>
> > > Betreff: Re: [PD] loading Camomile plug-ins using vstplugin~<br>
> > ><br>
> > > > Maybe static linking of libpd in Camomile would fix this?<br>
> > > <br>
> > > I think Camomile already links statically against libpd.<br>
> > > <br>
> > > <br>
> > > > Gesendet: Sonntag, 20. Januar 2019 um 14:35 Uhr<br>
> > > > Von: "Claude Heiland-Allen" <<a href="mailto:claude@mathr.co.uk" target="_blank" rel="noreferrer">claude@mathr.co.uk</a>><br>
> > > > An: <a href="mailto:pd-list@lists.iem.at" target="_blank" rel="noreferrer">pd-list@lists.iem.at</a><br>
> > > > Betreff: Re: [PD] loading Camomile plug-ins using vstplugin~<br>
> > > ><br>
> > > > Hi,<br>
> > > > <br>
> > > > On 20/01/2019 01:52, Miller Puckette wrote:<br>
> > > > > I don't think it works.  Unless I'm misreading things, once Camomile calls<br>
> > > > > pd_init(), that call doesn't go to the pd_init that's compiled into<br>
> > > > > Camomile (via libpd) but instead calls pd_init from the Pd that called<br>
> > > > > vstplugin~ that called Camomile.  This does nothing, and the next thing libpd<br>
> > > > > tries to access in the Pd instance fails.<br>
> > > > Maybe static linking of libpd in Camomile would fix this??? But that <br>
> > > > would just postpone the issue until the first dynamically-linked <br>
> > > > external is loaded by the deeper Pd, which tries to access eg <br>
> > > > class_new(): does it get the one in Pd host or Camomile .pd_linux?<br>
> > > > <br>
> > > > On GNU glibc systems, dlmopen() may be relevant?<br>
> > > > <br>
> > > > <br>
> > > > Claude<br>
> > > > -- <br>
> > > > <a href="https://mathr.co.uk" rel="noreferrer noreferrer" target="_blank">https://mathr.co.uk</a><br>
> > > > <br>
> > > > <br>
> > > > <br>
> > > > <br>
> > > > _______________________________________________<br>
> > > > <a href="mailto:Pd-list@lists.iem.at" target="_blank" rel="noreferrer">Pd-list@lists.iem.at</a> mailing list<br>
> > > > UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
> > > ><br>
> > > <br>
> > > <br>
> > > <br>
> > > _______________________________________________<br>
> > > <a href="mailto:Pd-list@lists.iem.at" target="_blank" rel="noreferrer">Pd-list@lists.iem.at</a> mailing list<br>
> > > UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
> > ><br>
> <br>
> <br>
> <br>
<br>
<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank" rel="noreferrer">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>