pd->MOD : whence the mk file?

hi all!

i’ve got pdlv2 working (i.e. i’ve generated a functional LV2 from a .pd)
and my docker MPB seems functional, although i haven’t actually built anything and pushed it to the MOD yet.

but now i’m confused about the buildroot mk file… since i didn’t write source code for my LV2 (just a pd patch), do i actually have everything i need to write a functional mk file and do the MPB build? i.e. does the working LV2 plugin directory contain what’s needed, or do i need to reverse-engineer source code somehow?

sorry… it’s a little baffling at this point! :frowning:

At some point we need to make a script to automate this, but it’s not there yet.
afaik, if you load your pd generated plugin twice, it will crash.
Before moving forward, we need to handle these critical issues.

thanks, @falkTX! yeah, the inability to load a pd plugin twice is an issue, but one i’m willing to work around for now. can you point to any more specific documentation about the mk file when coming from pd?

I’m not sure what you mean.

The mk file is here:

It simply clones a git repository and builds it.
The magic happens on that repository, upstream version is here: https://github.com/x37v/pdLV2/

The quickiest way right now to push your own patch would be to fork that repository, create a pd patch based on the provided template in the repo, and modify the repository Makefile and mod-plugin-builder mk file to build just that new pd-plugin bundle.
This is by no means an easy task though…

ok, thanks for pointing to the pdlv2.mk and outlining the process – that’s all very helpful! i suppose that’s all stuff that a real developer would know anyway… outside of developing pd patches and compiling the occasional unpackaged audio application for linux, i’m just a humble “end-user”… :slight_smile:

i have gotten successfully from pd to LV2. the bit that’s hanging me up is how to edit the mod-plugin-builder mk file appropriately to build for the MOD.

i’ll see if i can make it work, but will also be happy to see a more user-friendly, scripted process if it happens!