That's exciting news!
but I hope it shows that there is a tcl-tk-compatible, non-tcl-tk
future possible for Pd.
I am very much looking forward to such a future :-)
Christof
On 16.03.2023 22:02, Giulio Moro via Pd-list wrote:
Here's something the Chair and Bela teams have been working on for a
few months: a proof-of-concept web interface to Pd.
https://github.com/BelaPlatform/pure-data-web-GUI
This leverages the refactored communication protocol effort by
Iohannes in order to obtain a "toolkit-agnostic Core<->GUI
Communication"
(https://github.com/pure-data/pure-data/discussions/1695), which
resulted in https://github.com/pure-data/pure-data/pull/1765 . This is
part of a broader project outlined in
https://github.com/pure-data/pure-data/pull/1693 .
Now, this pure-data-web-GUI repo comprises three components:
- pd: is started with -guiport so that it doesn't start its own GUI
- the "shim": a very thin layer of websocket that forwards messages
to/from Pd and the browser
- the "frontend": the actual HTML5 stuff, written using the svelte
framework.
For now, you can try it out with docker following the instructions
included in the repo. The easiest way is to run it with the Pd it
comes with (which is run inside docker and thus doesn't have
audio/MIDI I/O capabilities), but you can easily connect it to your
own Pd server instance (assuming it comes from this branch
https://github.com/giuliomoro/pure-data-1/). The docker containers are
used to simplify the development effort, but ultimately this can be
packaged up in a self-contained app (even for Android, if required),
or you can have it run embedded (e.g.: on a Bela board) while
displaying the GUI in a web browser (which is actually our primary goal).
It is by no mean complete or perfect, but I hope it shows that there
is a tcl-tk-compatible, non-tcl-tk future possible for Pd. As it is,
it even allows (well, with a lot of effort on the user side, but very
little effort was put into it from the dev side) to patch on a
touchscreen.
You may be wondering how this differs from the purr-data web GUI. Good
question. This is a complete rewrite and it aims to use "stock" Pd as
a backend server, by means of a communication protocol that has been
refactored (by Iohannes) such that Pd no longer sends out raw tk
messages, but rather tcl-compatible commands that are higher level and
also easier to parse in other languages (the parser here is written in
js). So right now you can run the same Pd binary (from this branch)
deciding at runtime if using a tcl GUI or a web GUI. Nifty. The aim is
eventually to upstream this communication protocol into vanilla, to
make it easier to swap GUI frontends. Hopefully this can eventually
help other forks with custom GUIs such as PlugData so that they don't
have to maintain their own fork of Pd.
Best,
Giulio
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list