Seems to work on MacOS Sierra.
On Sun, Jan 20, 2019, 1:55 PM Christof Ressi, christof.ressi@gmx.at wrote:
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...
Christof
Gesendet: Sonntag, 20. Januar 2019 um 18:07 Uhr Von: "Miller Puckette" msp@ucsd.edu An: "Christof Ressi" christof.ressi@gmx.at Cc: claude@mathr.co.uk, Pd-List pd-list@lists.iem.at Betreff: Re: Re: [PD] loading Camomile plug-ins using vstplugin~
Bingo! I added the RTLD_DEEPBIND flag to the dlopen() call in
vstplugin~ and
my Camomile plug-in sprang to life.
Now, as to _why_ anyone migth want to do this, here's my use case: I'm working with a musician who uses Abelton on a Mac, so I want to write
him a
plug-in. But I have no usable real-time VST hosts on my old Mac (I keep
an
old MACOS so I can compile Pd back-compatibly). I also don't have any real-time VST hosting software on linux where I'm developing the patch
for
the plug-in. I could learn Ardour (maybe it's time I did that anyhow)
but
the fastest way I could see to be able to host my plug-in is from Pd,
which
is a piece of software I know well.
cheers Miller
On Sun, Jan 20, 2019 at 05:18:56PM +0100, Christof Ressi wrote:
maybe the RTLD_DEEPBIND flag to dlopen() could do the trick?
http://man7.org/linux/man-pages/man3/dlopen.3.html
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.
and guess what: [vstplugin~] + Camomile actually seems to work on
Windows :-D :-D :-D. See attached picture.
Christof
Gesendet: Sonntag, 20. Januar 2019 um 14:55 Uhr Von: "Christof Ressi" christof.ressi@gmx.at An: Pd-List pd-list@lists.iem.at Betreff: Re: [PD] loading Camomile plug-ins using vstplugin~
Maybe static linking of libpd in Camomile would fix this?
I think Camomile already links statically against libpd.
Gesendet: Sonntag, 20. Januar 2019 um 14:35 Uhr Von: "Claude Heiland-Allen" claude@mathr.co.uk An: pd-list@lists.iem.at Betreff: Re: [PD] loading Camomile plug-ins using vstplugin~
Hi,
On 20/01/2019 01:52, Miller Puckette wrote:
I don't think it works. Unless I'm misreading things, once
Camomile calls
pd_init(), that call doesn't go to the pd_init that's compiled
into
Camomile (via libpd) but instead calls pd_init from the Pd that
called
vstplugin~ that called Camomile. This does nothing, and the
next thing libpd
tries to access in the Pd instance fails.
Maybe static linking of libpd in Camomile would fix this??? But
that
would just postpone the issue until the first dynamically-linked external is loaded by the deeper Pd, which tries to access eg class_new(): does it get the one in Pd host or Camomile .pd_linux?
On GNU glibc systems, dlmopen() may be relevant?
Claude
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list