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" jancsika@yahoo.com a écrit :
Oh, and... I'm not sure if screenpos is totally accurate. I haven't tested it in different window managers.
-Jonathan
--- On Tue, 5/24/11, Jonathan Wilkes jancsika@yahoo.com wrote:
From: Jonathan Wilkes jancsika@yahoo.com Subject: canvas get method To: Pd-dev@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.)
-Jonathan
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
--- On Wed, 5/25/11, Patrice Colet colet.patrice@free.fr wrote:
From: Patrice Colet colet.patrice@free.fr Subject: Re: [PD-dev] canvas get method To: "pd-list" pd-list@iem.at Cc: "Jonathan Wilkes" jancsika@yahoo.com Date: Wednesday, May 25, 2011, 1:28 AM lol, it's fun, your file misses YZM's canvas_closebang and canvas_initbang, but i could compile it by adding missing lines,
Oops-- I didn't think about that. That's one of the few remaining differences between the internals of Vanilla and Extended, right?
a diff file would be a great thing :D
Yes, that's the next thing I'm going to learn...
I couldn't water parchy, maybe because I'm missing [expr] object?
Which Pd are you using that's missing [expr]?
expr $f1>68 && $f1<79 ... couldn't create expr $f1>457 && $f1<462 ... couldn't create args
----- "Jonathan Wilkes" jancsika@yahoo.com a écrit :
Oh, and... I'm not sure if screenpos is totally
accurate. I haven't
tested it in different window managers.
-Jonathan
--- On Tue, 5/24/11, Jonathan Wilkes jancsika@yahoo.com
wrote:
From: Jonathan Wilkes jancsika@yahoo.com Subject: canvas get method To: Pd-dev@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.)
-Jonathan
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
-- Patrice Colet
If you happen to be in Ghent tomorrow. This concert http://users.telenet.be/stichtinglogos/lb/1105/lb1105kon.html#110526 will feature Pd work.
Oded