[Interest] porting a tcl gui to qt

Jonathan Wilkes jancsika at yahoo.com
Tue Jul 1 00:05:23 CEST 2014


On 06/30/2014 03:30 PM, Alejandro Exojo wrote:
> El Sunday 29 June 2014, Jonathan Wilkes escribió:
>> I know this is an extremely inefficient design (especially for a realtime
>> audio environment), but there are enough UX quirks that changing the
>> design and porting at the same time without breaking anything would be
>> more work than we have resources for.
> That's understandable, but some diagonal reading seems to point that you might
> have some coupling of the chosen toolkit with the protocol.

There certainly is!  And that's part of what makes the port difficult.

> That's if those
> ".x19a1df0" / ".x19a1df0.c" have something to do with Tcl objects, and nothing
> else.

The latter is a Tcl object, and the former is a tk canvas tag (which can 
be used to reference zero or more canvas items).  The hex number 
sandwiched in between is the addy for the "Pd object"-- it's essentially 
what glues together the GUI process and the "server" process.  (I put 
that in quotes because the server is sending raw tcl commands after all, 
so it's not as clean a separation as it should be.)

>
>> So I'm wondering how to do
>> something similar to this, either with the QGraphicsView or Qt Quick and
>> the Scene Graph.  I think I can figure out how to get Qt to send pd
>> messages over the socket, but what's the best way to send messages to the
>> Qt GUI to tell it to draw things on the "canvas" or update their
>> properties?
> I don't quite see the specific issue. If you managed to use a socket to write
> to it in some application specific protocol, you'll have to do the same to read
> from it and decode it to make calls to the public API.
>
> If you want some kind of "UI protocol" in Qt, that doesn't exists as far as I
> know. At least certainly not as a public, cross-platform API. In Qt for Linux
> embedded (disappeared in 5.x), there was a protocol to make a GUI talk to a
> server, a little bit like X11 works, but this kind of thing has disappeared,
> and (again, as far as I know) never was a public API.

I suppose I am looking for a kind of UI protocol.  Here's another 
question-- do you know any cross-platform apps with a Qt GUI that talks 
to the "main" process over a socket?

Thanks,
Jonathan



More information about the Interest mailing list