Window to subcomopsition

Hello!

It seems like window information can’t pass through to a sub composition. Am I doing something wrong?

Context: Receive mouse drags on layer, says it’s blocked from sending out of composition. Inserting a “Hold Value” node removes the message, but still blocks the signal from leaving the subcomposition if using a “Fire on display refresh”. Using the triggers from the “Window” input port (generated from a node “Window” input) works, but stalls the composition (probably because of some sort of feedback).

May be bug.

A sample composition would probably help … at least for those of us who might like to experiment. :-)  

Indeed. @MartinusMagneson, could you post a simple composition that demonstrates the problem? The attached composition, at least, works as expected.

drag-subcomposition.zip (1.96 KB)

I don’t know if simple, but the attached ones should maybe convey the issue. Everything is WIP, so not really commented or structured in a sane manner. You’ll also need the mm.layer nodeset also attached (only a simple statless thing to scale Vuo coordinates from within one layer to the bounds of a different layer).

As I seemingly had worked further on some other stuff, I didn’t have the one I was complaining about. I had removed duplicate inputs and all of that, but this should still work the same.

MultiMapper.vuo (16.3 KB)

MultiMapper_subComp.vuo (9.84 KB)

MM.layer.vuonode (15.4 KB)

Could you also upload mm.cornerPoints?

Oh, sorry, here it is

mm.cornerPoints.vuo (10 KB)

In mm.cornerPoints, as you noted, the Dragged To trigger ports have the warning about “Events from this trigger are blocked from exiting this subcomposition”. If events fired from within the subcomposition (Dragged To) can overlap with events coming in through the published input ports (as they would at the Select Latest nodes), then the fired events will be blocked. (More info in the manual.)

Often, the solution is just to insert a Hold Value node to merge the two event streams. But when I tried that with mm.cornerPoints, the 4 circles ended up displayed in the center of the window initially. I realized that the Hold Value had messed up the event flow which Select Latest needed in order to make the correct decision. So instead I took out the Select Latest and put in slightly different logic to make it use the default circle position (Option1) until the mouse was dragged.

MultiMapper.zip (28.7 KB)