Giter VIP home page Giter VIP logo

Comments (12)

alfonso73 avatar alfonso73 commented on June 7, 2024 1

well, cool, but it would seem pointless to ship ELSE if anyone can just install it, right?

@porres i guess @timothyschoen has to include ELSE for the plugin version of PlugData to work...the same way as with Camomile...

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024 1

Externals on Windows work now!! It was a big hassle, but the action now generates an installer for Windows which will also install pd.dll into PlugData's path, making externals on Windows finally work! I'm still working on things, but it works in 5556e4e for example. Next release will have full external support for Windows.

An installer for Mac is also in the works, because copying all these plugin formats for each update is annoying.

from plugdata.

porres avatar porres commented on June 7, 2024

can we use now any external packages in PlugData?

from plugdata.

porres avatar porres commented on June 7, 2024

please, why are you testing 'nilwind'? :)

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024

I kinda picked nilwind randomly from deken to do testing, after all I couldn't pick cyclone or ELSE because they are already included :)

On Linux and MacOS externals downloaded from deken or elsewhere should work. On Windows, there's still a problem. I need to seperate the libpd.dll from the executable in order for externals to work. But that means I need to create an installer to create a folder in Program Files, and also need to drastically change my build system.

This is made worse by the fact that my Windows PC is very slow, and I don't have much experience on Windows. I'll fix this at some point, probably by the time I'm going to make installers for most platforms. If anyone with more windows development experience can help out, let me know!

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024

I see you're close to releasing a stable version of ELSE (congrats!), I'll make sure to update it when it's ready!

from plugdata.

porres avatar porres commented on June 7, 2024

well, cool, but it would seem pointless to ship ELSE if anyone can just install it, right?

plese forget about nilwind :) it's a lie what they say

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024

@alfonso73 is correct, that will remain an issue because of the way pd externals are designed.

Besides, there are certain ELSE objects like keyboard that I've written GUI wrappers for, and I'm planning to do that for even more objects (pic at least, and more if needed). Externals are also still broken on Windows.

The fact that we can't use externals with the PDINSTANCE flag sucks, but since all externals rely on global variables that don't exists with the PDINSTANCE flag (they're wrapped now in a struct) there's almost no way around this. The only way I could imagine would be messing with the linker to make it point to the correct PDINSTANCE variables, I don't think that is possible though.

from plugdata.

alfonso73 avatar alfonso73 commented on June 7, 2024

@timothyschoen surely not being able to load dynamically externals in plugin versions of PlugData (and in Windows standalone version) is a great disadvantage because externals are a great resource for a modular enviroment as Pd actually is. It's the same limitation Camomile has. But given the great work done by @porres with ELSE i think that with ELSE included PlugData and Camomile will have pretty much everything needed for a DAW use of Pd. I'd just add faustgen~ and a good set of bandlimited oscillators externals (BLIT, minBLEP, polyBLEP or whatever) to the externals "embedded" in PlugData (and Camomile...even if Camomile doesn't seems so actively developed in the last year).

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024

So.. I'm probably missing something here but I've added global variables for "s_float", "s_bang" etc. and now externals can load with PDINSTANCE enabled...

I'm not fully aware what these variables do to be honest. I see that the s_symbol part is just constantly set to "float" for s_float. I feel like there must be more going on, but so far I'm getting very normal behaviour out of externals I've tried (and I'm not even initialising these variables yet!)

@porres Do you know what exactly the purpose is of these global s_ variables? It's pretty much just these variables that are getting in the way of having normal externals support with PDINSTANCE enabled.

edit: I see class_addmethod compares pointers with s_float, and I see there's actually more problems with this hack so never mind I guess...

from plugdata.

porres avatar porres commented on June 7, 2024

@porres Do you know what exactly the purpose is of these global s_ variables?

nope

from plugdata.

timothyschoen avatar timothyschoen commented on June 7, 2024

Screenshot 2022-07-06 at 02 48 52

Proof

from plugdata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.