atom feed3 messages in at.iem.pd-listRe: [PD] [PD-dev] canvas get method
FromSent OnAttachments
Patrice ColetMay 24, 2011 4:28 pm 
Jonathan WilkesMay 24, 2011 5:50 pm 
Oded Ben-TalMay 25, 2011 4:56 am 
Subject:Re: [PD] [PD-dev] canvas get method
From:Patrice Colet (cole@free.fr)
Date:May 24, 2011 4:28:07 pm
List:at.iem.pd-list

lol, it's fun, your file misses YZM's canvas_closebang and canvas_initbang, but
i could compile it by adding missing lines,

a diff file would be a great thing :D

I couldn't water parchy, maybe because I'm missing [expr] object?

expr $f1>68 && $f1<79 ... couldn't create expr $f1>457 && $f1<462 ... couldn't create args

----- "Jonathan Wilkes" <janc@yahoo.com> a écrit :

Oh, and... I'm not sure if screenpos is totally accurate. I haven't tested it in different window managers.

From: Jonathan Wilkes <janc@yahoo.com> Subject: canvas get method To: Pd-@iem.at Date: Tuesday, May 24, 2011, 6:30 PM Hi list,      Here's my first attempt at some c code to create a "get" method to query the properties of a canvas.  I included the entire g_canvas.c from 0.43 (haven't started using git and diff yet) and a demo patch with some helper abstractions.  Some things that it does:

* [namecanvas] (and [sendcanvas]) are _actually_ obsolete * canvas environment variables available to the user (filename, dir, canvas-local paths, dollarzero) * parent attributes (like dollarzero) are gettable without having to give it as an argument to the abstraction * possible to find the toplevel canvas that contains "this"

abstraction (plus making all kinds of "canvas-abs" like the list-abs lib) * ability to get gop status, coords values, patch screen position, abstraction's position on parent, and other goodies that are currently scattered all around external libraries with various interfaces * abstraction can get a list of all attributes (like dollarzero) from all the abstraction instances that exist.  (Probably should institute patch 1403917 to make this rock-solid.) * parent args are gettable!

Things seem to work alright so far, but I'm not sure how to handle reentrancy.  Also, I'm currently replying to queries using the attribute as a selector.  The only model I had-- the [cnv] get_pos-- just sends the data, but it seems cleaner to send to one receive-symbol and [route] accordingly.  (I also much prefer one "get" method to separate ones to access each attribute.)