[Gridflow-dev] [#see]

Mathieu Bouchard 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 
the keyboard.

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 mailing list