On 30.09.2024 13:55, Antoine Rousseau wrote:
Having the GUI running on a separate process has several advantages:
- no additional dependency to the core, as IOhannes pointed out.
As I said, you can achieve the same thing with an in-process GUI. The GUI can even be implemented as a plugin, i.e. loaded at runtime.
- possible choice between several GUI apps
Same as above.
- possibility to run the GUI from another computer, and/or to launch
the GUI app alone and connect it dynamically to already running Pd/libpd instances.
As I outlined in a previous mail, this can be done on top of the in-process GUI. See https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/SQGTXOKHMPI...
While all your points are valid, none of these *require* an out-of-process GUI.
Le lun. 30 sept. 2024 à 11:45, Christof Ressi info@christofressi.com a écrit :
On 30.09.2024 11:33, IOhannes m zmoelnig wrote:
On 9/30/24 11:25, Christof Ressi wrote:
We'd just need a configure option that allows to build Pd without the GUI. That's also what SuperCollider does: there's an option for building sclang without Qt (e.g. for headless systems).
It's just like building Pd with our without JACK, for example.
right. it's just like that. i have been lobbying to make the audio backends a runtime selection years ago.
? All I wanted to say is that users can decide to build Pd without JACK support, i.e. Pd does not *depend* on JACK. We can do the same with the GUI.
the Pd sources do not depend on JACK. but once Pd has been compiled (with JACK), the binaries do depend on JACK. aka: if you do not have libjack installed (and your OS does not support weak linking), then Pd such a binary will not start.
or to turn it around: if i want to add a new audio backend to Pd (e.g. a native PipeWire backend; or some network audio driver like AOO), i must convince the BDFL to include my code into Pd core. if audio backends were decided runtime (based on some "audio backend external" i could just provide it via deken.
Ah, now I see what you mean. Of course, the audio API can already be selected at runtime, hence my confusion. What you are proposing is really a plugin mechanism - which is a pretty cool idea!
fdsmt IOhannes
pd-dev@lists.iem.at - the Pd developers' mailinglist https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/N32DLXSNG5K...
pd-dev@lists.iem.at - the Pd developers' mailinglist https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/ZSQHFJYD4L2...