The problem with the approach you suggested is that tcl would have to be aware of all unique redrawing properties of individual objects and externals that may require custom drawing commands. While not impossible, it would require at the very least requiring of all gui-based externals. OTOH, my approach only requires a recompile and I'd rather pick that over the alternative.
Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Assistant Director, CCTAD Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net
Hans-Christoph Steiner hans@at.or.at wrote:
The problem with changing t_widgetbehavior is that it breaks binary compatibililty, I think. That makes it a pain to manage the transition. Personally, I think it'd be worthwhile to use the struct as it. Or really, I'd like to see bigger changes to offload more stuff to the GUI, like mouse motion and click handling, resizing, etc. For a resize of an object, 'pd' only needs to know about it once its done, not while its happening.
.hc
On Nov 4, 2011, at 11:36 PM, Ivica Ico Bukvic wrote:
Because after studying the code it looked like a difficult thing to pull off. This is because the regular displacefn is used for initial posting of objects which is absolute in nature while displacewithtag is relative, so the two don’t play very nice.
HTH
Ico
From: Hans-Christoph Steiner [mailto:hans@at.or.at] Sent: Friday, November 04, 2011 6:26 PM To: Ivica Ico Bukvic Cc: pd-list@iem.at Subject: Re: [PD] how to capture window-related mouse-events when toxy isdiscontinued?
Hey Ico,
What not just use the displacefn to do the move with tags? Then we wouldn't need to change that core struct.
.hc
Ivica Ico Bukvic ico@vt.edu wrote: The said changes are in pre-git tarballs. I think they are also listed in the changelog under a specific date which should make things a bit easier to isolate. That said, implementation alters widgetbehavior struct by adding one more entry and as such it breaks compatibility with gridflow unless recompiled from scratch using the new .h file. Even then there might be other incompatibilities. That said, I've encountered none, other than gridflow. Of course, other externals need to be recompiled as well (but no changes to their source are required).
HTH
Best wishes,
Ico
Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Assistant Director, CCTAD Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net
Hans-Christoph Steiner hans@at.or.at wrote:
Hey Ico,
That's great, we need to do a lot more of that. Can you point me to where these changes are so I can check them out?
.hc
On Nov 3, 2011, at 2:44 PM, Ivica Ico Bukvic wrote:
Indeed, pd-l2ork moves entire selection by tag, so instead of redrawing everything, out issues single tcl/tk command. The only thing that still redrawed every time when displaced is gop-enabled patcher.
Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Assistant Director, CCTAD Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net
Jonathan Wilkes jancsika@yahoo.com wrote: I believe Ivica made such a modification in Pd-l2ork-- whatever the case, moving many iemguis in
Pd-l2ork is much snappier than in Vanilla or Pd-extended. But I haven't measured the cpu load.
-Jonathan
----- Original Message -----
From: Hans-Christoph Steiner hans@at.or.at
To: João Pais jmmmpais@googlemail.com
Cc: katja katjavetter@gmail.com; "pd-list@iem.at" pd-list@iem.at; Jonathan Wilkes jancsika@yahoo.com
Sent: Thursday, November 3, 2011 11:07 AM
Subject: Re: [PD] how to capture window-related mouse-events when toxy is discontinued?
I
doubt that Tcl/Tk's drawing code is being overloaded. Instead, try
running "path/to/pd -stderr -d 3" and you'll see that 'pd'
is sending 'pd-gui' massive amounts of Tcl code to pa!
rse, compile, and
execute. In the case of a move, this could be accomplished with one line of Tcl
to tag everything you want to move, then one move command to let Tcl/Tk do the
moving.
.hc
On Nov 3, 2011, at 10:31 AM, João Pais wrote:
those spikes is what I was predicting with the graphic overloading of
tcl/tk (through data structures, in this case).
you could also try the following: make the "selectable area"
around one corner (or middle) of the button: with a tiny bit more resolution,
but less points in the template. if you want to keep the squares, it's even
better, because it helps you selecting the structs.
Or one other thing: maybe can the tcl/tk code be changed, so that it
doesn't overload that fast? Reduce the redraw rate, or something else? (I
h!
ave no idea about tcl/tk)
Or change the output rate of the struct object? (this might not help much)
About the background grid for instant jumps, an implementation of it in run
mode is easy. I could try to give an example, but don't have any time for
now.
----- Original Message -----
From: katja katjavetter@gmail.com
To: pd-list@iem.at
Cc:
Sent: Thursday, November 3, 2011 6:10 AM
Subject: Re: [PD] how to capture window-related mouse-events when
toxy is discontinued?
On Thu, Nov 3, 2011 at 1:30 AM, Jonathan Wilkes
wrote:
How does the cpu usage in my demo!
compare to your patch where
you use
a radiobutton?
Here's a cpu load comparison of objects dragged continuously
(on intel
mac 2GHz):
polygon in movable_box2.pd: 23 %
polygon in 07.sequencer.pd (help browser): 16%
radiobutton in moving_objects.pd: 12 %
regular Pd slider: 13 %
2D geo in a gem window: 2.5%
I just got intermittent rises up to 50% on a dual core 64-bit amd with
all of the above.
I imagine that the cpu load for movable_box2.pd is due to the number of
points in the polygon. I think you could get a 20x20 draggable square
with 8 coordinates-- that
would be equal to the number of p!
oints in a radiobutton so maybe that
would get down
to a corresponding cpu load.
I'll try some tweaks later to see if that works.
-Jonathan
Your polygon method is plain vanilla Pd and that makes it
attractive
for a widely shared Pd patch. No risk of broken dependencies. But I
am
afraid it is too cpu-intensive, particularly on Windows. Thanks for
sharing the idea though, it is inspiring.
Katja
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
--
Friedenstr. 58
10249 Berlin (Deutschland)
Tel +49 30 42020091 | Mob +49 162 6843570
Studio +49 30 69509190
jmmmpais@googlemail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
'You people have such restrictive dress for women,’ she
said, hobbling away
in !
three inch heels and panty hose to finish out another pink-collar temp pool
day. - “Hijab Scene #2", by Mohja Kahf
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list