matju at artengine.ca
Tue Feb 9 11:17:33 EST 2010
This flyer was made using only GridFlow and vanilla objects :
It features 39 copies of the new [#see] object-class, which is the new
implementation of what used to be called [peephole] or [#peephole].
IIRC, this is the fourth rewrite of this; the first was written with [#out
x11] over SWING, the second was written with [#out x11] over Tk, the third
was written using [#out tk] (now deceased) which used [#out ppm] to /tmp
and reloaded that from the tk process; and I thought about reviving [#out
tk], but in the end I wrote a new external called [#see], which transmits
the data as a PPM with hex-encoding, through the main socket.
A unique feature of this implementation is that it supports part of the
position/keypress/keyrelease API of [#out x11]. This is done by filtering
the output of a new external I made yesterday, [gf/mouse_spy], which makes
those messages from what the pd-client already sends to the .x
receive-symbols. Note that this is a misnomer, because it also spies on
I'm open to suggestions on how to make this faster... some ideas :
* use a tcl extern to implement base64 (UU, MIME) or some other tighter
encoding that is wire-safe.
* try again to write ppm files in /tmp and compare the speed (i didn't)
* open a separate socket so that ppm files are sent raw. but doing so,
the whole sys_queuegui mechanism would be bypassed and would have to
be reinvented there (or not).
* use a tcl extern to implement shared memory such as mmap, to transmit
the ppm file.
* use [#out x11] subwindows in a smarter, scrollbar-friendly,
editmode-friendly way (but this is not portable to most OSX and Win32
* use [#out x11] without subwindows, if I can hijack Tk events. (could
be blinking a lot and still isn't portable.)
* does the Tk canvas already own a subwindow ? if I can put a subwindow
inside that subwindow, I could be done with the old scrollbar problem,
but not with other problems.
I imagine that I will stick with Tk display (no direct X11) for the
foreseeable future, and if I reintroduce X11 support, it will only be as
an option. It's not 2001 anymore, and OSX support is as important as Linux
support as of now.
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
More information about the Gridflow-dev