--- On Thu, 1/28/10, IOhannes m zmoelnig zmoelnig@iem.at wrote:
From: IOhannes m zmoelnig zmoelnig@iem.at Subject: Re: [PD] 'synced' number and slider To: "Jonathan Wilkes" jancsika@yahoo.com Cc: pd-list@iem.at Date: Thursday, January 28, 2010, 6:34 PM Jonathan Wilkes wrote:
they don't. there is no simple way to distinguish between
"received"
messages and those that come in through an "inlet". (there are
ways,
involving proxy objects; but this opens up another can of worms)
They do currently cause different behavior (see what I
wrote above). If
this is still unclear I can make an example patch
later.
no they don't. there are three ways to change the value of an iemgui: #1 "send" it something #2 send something through the "inlet" #3 do GUI interaction (drag the slider)
the iemguis cannot distinguish between #1 and #2. so they behave identically.
Ok, I've got it now. There is disparate behavior, but it is due to the difference in behavior between a single wire connection vs. the [send] object. So I think this is just a documentation issue which can be solved by putting the "simple rule" you mentioned in the help patches for iemgui objects.
however, they now when #3 happens, so they expose a different behaviour.
It's just that the incoming value doesn't get sent to
the outlet because
the slider has the same send/receive names. When I
originally sent my
suggestions to Hans I didn't notice this, and I still
don't understand
how it would cause a feedback loop if the value _did_
come out the
outlet of the slider which is connected to the inlet.
anyhow, the canonical way is to use send/receive throughout if you share the same send/receive name for iemguis.
and it is really no "magic".
I think it's magic, in the sense that there's no way
to implement
this behavior manually in pd. For an iemgui, you
(currently) can't
specify separate instructions for dataflow depending
on whether the
you can just fine: don't use any send/receive names with the iemguis and do the logic on the patch level. the iemgui's "magic" is implemented in C, but it is not so low-level that you cannot implement it in Pd.
Yes. Disregard this.
fmasdr IOhannes