Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add libpd script engine #7

Closed
AndrewBelt opened this issue Sep 16, 2019 · 7 comments
Closed

Add libpd script engine #7

AndrewBelt opened this issue Sep 16, 2019 · 7 comments
Assignees

Comments

@AndrewBelt
Copy link
Member

https://github.com/libpd/libpd

Advantages:

  • Popular
    Disadvantages:
  • I've heard it's not thread safe. Only one instance per process. The ScriptEngine subclass can simply fail with an error message if libpd is already in use.
@mxa
Copy link
Collaborator

mxa commented Jul 1, 2020

We can implement multi-instance support once this merge request goes into libpd.

@JerrySievert
Copy link
Collaborator

instead of breaking multi-instance support in prototype, why not use a fork of libpd in the short term? you can make the change back to the canonical repo once the PR is merged. we had to do that for quickjs due to how it handles stack length checks (and are still using the fork).

that seems to me to be a good solution in the short term, and could end up being a good (and stable) solution in the long term as well, depending on how it is handled.

@AndrewBelt
Copy link
Member Author

I agree that @JerrySievert's is the best idea you're willing to fork libpd on your own GitHub account, merge the PR, and use it as a submodule.

@mxa
Copy link
Collaborator

mxa commented Jul 2, 2020

I'm optimistic Miller is tackling this issue soon rendering this discussion obsolete. Multi-instance support is coming either way.
Because I'm not sure if Miller will accept the pull request as is or solve the issue his way, I'd rather not fork Pd and Libpd now with these changes. The linked to libpd pull request only works if the companion core-pd patch is applied to, and that's still marked as WIP by Dan.

@mxa
Copy link
Collaborator

mxa commented Jul 6, 2020

Pull/Merge request here: #35

@AndrewBelt
Copy link
Member Author

I've only tested this partially, but most things look great!
I've given @mxa and @clwe write access to this repo, so commit all future changes to this master branch.
I'll assign issue(s) to both of you to solve before releasing.
I still need to finalize testing across all OSs and solve #32 before releasing.

@AndrewBelt
Copy link
Member Author

LibPDEngine has been released in VCV Prototype 1.3.0. https://twitter.com/vcvrack/status/1286313958715068416

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants