Question about ui element synchronization

Ed Majcher's icon

Does the output of a ui element (like umenu) follow the same message flow as every other standard max object or does the message flow effectively end when once it hits a ui element? I am seeing very odd results upon load of a patch where the output of umenu is part of an expected flow that should drive some objects that follow it but it never appears to complete on time. I have some more testing to try out tonight by adding some prints statments to see if the order of execution is occurring the way I expect it.

I suspect the output of a ui element does not guarantee message flow ordering upon loading of a patch and I need to separate out usage of my code from the ui (which is the better programming model to begin with.

I know this question might be vague without a patch example, but I thought I would throw it out in case anyone knew of something that wasn't documented.

Secondly, is there a process to submit updates to the documentation, for example, the undocumented feature of send and receive supporting patch isolation via prefixing the names with ---.

Roman Thilenius's icon

it even worse, ui elements can slow down the message if a message goes thru them,
so it can be cool to use

t f f
defer |

for gui shit in high priority situations

or delay groups of loadbangs when a hughe app has to be initialised on startup.

seejayjames's icon

undocumented stuff?

"position $1 $2" to a message box...or bang... or lots of other things... but not to a standard object.

found that one when I was sending GL commands to a gridshape, and hooked it up to a message box accidentally... it zipped to the upper-left corner of my patch. it was bizarre. anywhere in the docs?

It seems similar to "patching_rect $1 $2 $3 $4" or "script move $1 $2" to [thispatcher], but it's yet another way...

Tj Shredder's icon

It seems not documented, at least not in a way to find it simply (which is practically the same...)

Max Patch
Copy patch and select New From Clipboard in Max.

There is more to explore, it works with a lot of GUI objects...
There was a thread which covered it as an answer from Emmanuel. Till this it was not known to me, and stills seems hidden/buried somewhere...
All my self adjusting bpatchers could have been so much easier...

Ed Majcher's icon

I spent the time unravelling my bpatchers, removing the ui elements that were part of the message flow and moved them all to the top level of my patch and I update them as a side effect of the results of other objects and everything works perfect now.

As painful as this was to diagnose, separating out the ui from the logic is a better design anyway so I should have known better in the first place.

Gregory Taylor's icon

....separating out the ui from the logic is a better design anyway so I should have known better in the first place.

Look on the bright side - there are some people who've never figured this out. :-)

Emmanuel Jourdan's icon

FWIW, it's documented as part of the common attributes of any object.