Comments (12)
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.
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.
can we use now any external packages in PlugData?
from plugdata.
please, why are you testing 'nilwind'? :)
from plugdata.
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.
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.
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.
@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.
@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.
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 Do you know what exactly the purpose is of these global s_ variables?
nope
from plugdata.
Proof
from plugdata.
Related Issues (20)
- GEM Library is crashing when creating a window (Plugdata version 0.8.3, GEM version 0.94) HOT 4
- Bug: unable to build due to undefined reference to `scope_tilde_setup' HOT 1
- Develop `Branch` - Mouse Position Issue HOT 5
- Plug Data (Standalone or plugin versions) don't open on some apple silicon macs after crash HOT 2
- PlugData 0.9.0 nightly built, can't open [oscope~] from Show Object Browser HOT 2
- Number box doesn't show numbers HOT 11
- Switch focus to newly opened patch HOT 1
- keyboard gets inactive while clicking and holding HOT 1
- [Feature request][External] ReacTIVision TUIO client HOT 2
- [bug] patch that is closed still running in the background HOT 5
- [feature] Implement the note on/off "extra byte" for microtuning HOT 11
- [0.9.0-test] The color of object's name is not updated after switching themes. HOT 3
- [bug} Settings and Compile menus make entire program stuck "on top" HOT 4
- [bug] file dialog doesn't close when compile dialog is closed HOT 3
- wont run on ipad air 1st gen ios 12.5 HOT 4
- Button widget doesnโt respond to Toggle message HOT 4
- GEM getting error while creating a window inside Cubase
- Rendering / Disabling Track / Exporting VST3 HOT 6
- [bug] palette menu renders below canvas
- Internal GM Synth outputs weird noises HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plugdata.