On Mon, Jan 11, 2016, at 08:30 PM, Jonathan Wilkes wrote:
Hi Kaj,In the GUI port of Pd-l2ork I have about 18 sys_vgui calls left to revise. At that point the tcl strings will be completely removed from the core of Pd-l2ork. In practice, it's not really a process of changing tcl calls to pd message calls. Tcl strings are more expressive than pd messages-- they allow you to specify arbitrary strings (e.g., the string may have spaces inside it) and (nested) lists of values. Since the current code relies on those two features to communicate with the GUI, porting everything to a less expressive message format is a really bad idea. You'll either end up jumping through hoops to deal with all the edge cases, or coming up with your own syntax for strings containing arbitrary characters and list/array boundaries (at which they are no longer Pd messages). I used pd_vmess as a model and just parameterized the messages to the GUI. That means I have only a handful of functions in one place where I can choose exactly how the commands look when they get sent over the wire. That way even if I chose the worst possible design, fixing it is just a matter of changing the guts of those few functions instead of having to refactor every single call to the gui throughout all of the core. -Jonathan
Wow. Been a while since I tried pd-l2ork. A little tough to install on anything except Ubuntu. The deb installer has build dependencies as regular dependencies, and on Debian I was unable to install all of them, so I had to force it.
The gui is really quick and responsive. And, I noticed the gui coloring is all configurable. Pretty scrollbars, a html like help browser, etc. The whole thing seems to be based on -extended, which is what I used for many years - mostly because of the look, and initbang(while I hadn't worked out other solutions yet).
I'll put some time in studying the code, as there seems to be some clues to the problems there (both in how they are solved, and why they are not solved that way in vanilla - I'm assuming). I'll resurface once I have something new to add :).
Thanks Jonathan!