Hi, we all know Pd Extended had that nice feature of sharing your patch as an app, could that be available for Vanilla as a plugin? What would it take? What other similar solution could we have instead?
Of course we can just share a zipped file with the patch and all external dependencies, and then ask people to download Pd vanilla, but the "app" idea is still more convenient for complete dummies.
cheers happy 2021
not a vanilla solution but i know ofelia allows you to do this though it's probably not as user friendly and i don't use that feature... supposedly compiles to ios, windows, macos, linux. the demo examples did compile on my machine and i checked it out and it's pretty neat but i'm not really interested in that i just wanted to use lua in my patches https://github.com/cuinjune/Ofelia
On Thu, Dec 31, 2020 at 1:21 PM Alexandre Torres Porres porres@gmail.com wrote:
Em sex., 1 de jan. de 2021 às 13:36, Josh Moore kh405.7h30ry@gmail.com escreveu:
not a vanilla solution
My original idea is that we could make a plugin for vanilla, downloadable via deken, so I don't expect this to become a "vanilla solution" out of the box. And I thought we could just get the code from Extended and port it as such a plugin for vanilla. But yeah, other solutions are welcome though ;) thanks
You can always distribute Pd along your project and have a simple top-level shell script resp. batch script which opens your main patch with the bundled Pd version. Give the script a nice icon and off you go :-)
The downside is that on Windows and macOS you get a visible terminal window, but there are workarounds.
I did a quick search and found the following for macOS:
https://sveinbjorn.org/platypus
"*Platypus* is a developer tool that creates native Mac applications from command line scripts such as shell scripts or Python, Perl, Ruby, Tcl, JavaScript and PHP programs. This is done by wrapping the script in a macOS application bundle http://en.wikipedia.org/wiki/Application_bundle along with an app binary that runs the script."
Christof
On 01.01.2021 18:34, Alexandre Torres Porres wrote:
I was wondering if current OS Xs do allow the simple execution of such bundles or even the scripts alone if they are distributed without having been sprinkled with certified OSX developers bodily fluids?
best, P
another thing is i've been playing around with csound and the web and the way it handles creating guis is just easier. you can get lost for days finding free javascript buttons and stuff like that.(good example is https://freefrontend.com/css-buttons/ 167 button designs, lots are 3d it's crazy... hell you want a javascript keyboard you got that too https://codepen.io/gabrielcarol/pen/rGeEbY )
i seen chatter about an emscripten compiled pdlib in this list not too long ago so that's another way to distribute, you can even run this kind of thing on a github page. pure javascript so...
I think if I ever do anything in a public form like that i will probably just use the web from now on. performance is fine, don't gotta download anything to use it. don't need special tools to code for it, just browser and text editor and ur dsp config. latency is so-so though not unusable (30-40 ms).
On Thu, Dec 31, 2020 at 1:21 PM Alexandre Torres Porres porres@gmail.com wrote:
other solutions are welcome though ;)
in case you want a custom ui, and want pd only for the "it's running in the background" part, i've been experimenting with pd+osc+qml and it's pretty nice! but i guess if one needs much/fast data between pd<->qml, osc might not be enough... (i already got "bad feeling" sending waveform average datas over osc)
so it's really itching in my fingers to make an app (like pd(droid)party) with qt (that supposedly can compile for every os!) and libpd (i know only that it exists). and use pd patches for the "backend" and qml scripts for the "frontend"...
but don't hold your breath, creating (cross) compiling and "advanced" (qt) c/c++ code is something where i seem to rage quit pretty early... *nudge nudge, wink wink*
qt: https://doc.qt.io/qt-5/supported-platforms.html qml: https://doc.qt.io/qt-5/qmlapplications.html osc: https://github.com/hecomi/qml-osc
cheerio .oskude
ps. in case you try my fork of qml-osc, it seems i broke single values, hups... todo... pps. there is also https://www.qt.io/qt-for-python but meh...
On Thu, 31 Dec 2020 18:19:36 -0300 Alexandre Torres Porres porres@gmail.com wrote:
Seems a bit of an overkill involving other languages and all that. Yeah, we have libpd, but that doesn't support externals out of the box, for instance.
The "make app" we had in Extended was much simpler. It'd replicate the Pd app and just open the patch you turned into an "app". This is convenient to share your art work as it doesn't require people to download Pd + your patch and maybe even externals. And everything is guaranteed to work out of the box wherever you open it.
I've used this a couple of times back in the day for installations in art galleries and it really felt good! People running the exhibition had no trouble at all managing this. It is also good for concerts situations where all pieces are played from one computer. You have your piece in an app in a pendrive and it just works! I can see the point that it's not too much of an incredible convenience, but it surely is convenient and the point is that this was once made and maybe could be easily incorporated as a plugin so you can generate an app.
cheers
Em sáb., 2 de jan. de 2021 às 10:56, Andre Osku Schmidt andre@osku.de escreveu:
Am 2. Jänner 2021 17:10:21 MEZ schrieb Alexandre Torres Porres porres@gmail.com:
why are you saying that? it is wrong. libpd supports externals (both abstractions and "compiled" externals) just fine.
mfg.hft.fsl IOhannes
Em sáb., 2 de jan. de 2021 às 15:35, IOhannes m zmölnig zmoelnig@iem.at escreveu:
Yeah, I know you can compile libpd with externals, bue well, you know, by "out of the box" I meant you have to get the source of the externals and compile it yourself, and that alone may even not work right away, so it involves some hassle.
I meant you have to get the source of the externals and compile it yourself
Not necessarily. That is only the case if libpd is compiled with multi-instance support and the (single-instance) external uses global variables (like 's_symbol', 's_float', etc.).
The 's_*' variables will cause an obvious linker error. 'pd_this' is a bit more tricky*), but I think externals are not supposed to use it directly.
Christof
*) For single-instance externals 'pd_this' is a macro for accessing 'pd_maininstance', while for multi-instance libpd 'pd_this' points to the current instance. Unfortunately, the latter also exports 'pd_maininstance', so we would get silent failures instead of a linker error. Maybe multi-instance libpd shouldn't export 'pd_maininstance' at all?
On 02.01.2021 22:33, Alexandre Torres Porres wrote:
Am 2. Jänner 2021 23:37:32 MEZ schrieb Christof Ressi info@christofressi.com:
exactly. in this thread we are talking about creating a "standalone app", so I don't see why you need multi-instance support at all. so you can use existing (compiled) binaries (as installed from deken) with your libpd application.
mfg.hft.fsl IOhannes
Hey Alex
On Thu, 2020-12-31 at 18:19 -0300, Alexandre Torres Porres wrote:
Hi, we all know Pd Extended had that nice feature of sharing your patch as an app, could that be available for Vanilla as a plugin?
Maybe the answer is in your subject line? When I read it, I thought you were talking about the mac/osx-app.sh script that creates the Pd.app and is invoked by the very 'make app' command. I don't know how Pd- extended did it, but considering there is already a script able to build an app, I'd start from there. It even contains the commands to code-sign the result.
I made a netpd.app that is basically a Pd.app containing patches and externals. I use kiosk-plugin to disable menus and Pd-console. I modified pd-gui.tcl to load the main patch automatically. If interested, have a look at:
https://www.netpd.org/software/netpd-2.2.1_macos.dmg (for macOS) https://www.netpd.org/software/netpd-2.2.1_windows.zip (for Windows)
I just put together the pieces, it's all based on the hard work of Dan Wilcox. Thanks for that!
Roman
On Sat, 2021-01-02 at 22:00 +0100, João Pais wrote:
It's all hacky and wacky (especially for Windows), but have a look anyway:
https://gitlab.zhdk.ch/rhaefeli/netpd-app-builder
Roman