Sending message from JAVA to any objects… any best practices ?
I need to send messages from my JAVA/mxj to objects in my patcher.
I keep the reference of those objects (basically they are abstractions called by my MXJ and placed in the patcher)
In each abstraction, I have a kind of central message hub which collects all messages & dispatches them in the abstraction.
I can send the message to objects in the patch directly but it is a bit harder and messy.
How can I send a message to a receive object from JAVA as messnamed can do in JS ?
It would be my best way I guess
I fought with patcher, getnamed etc…
I didn’t explored enough MaxSystem part of the tree..
testing that right now :)
Apparently, my message ideas/system suck.
"(mxj) MaxSystem.sendMessageToBoundObject: Nothing bound to symbol CentralHub_17. Value of s_thing is 0."
The error message just comes from my ugly design.
My JAVA creates abstractions. 32, for now.
By create I mean, calls. They exist before, the code doesn’t encapsulate them.
I have to be able to send message from my JAVA code to all abstractions.
I created a central hub (basically route + other objects).
The route object has its scripting name changed when the abstraction is instantiated (through #1 arguments)
That part works, but maybe …. I cannot send a message to a route basically :-/
Using JS, I used to use messnamed to send message to receive objects.
any ideas ?
basically, I have to do the same and to send my message to the receive object connected to the route hub..
Jesse, is it the best way for sending message from JAVA ?
best doesn’t make sense.. I mean, is it the way to follow here :p
Yes, that’s my understanding.
The "best" practice will vary depending on the design of the system. I’d probably include a [receive all] in each abstraction so that I could address the entire group simultaneously, and a [receive
By doing so you have a tiered system that can address the group together or specific individual abstractions from Java.
I like the idea of receive all stuff.
I don’t know how could behave Max in case of … let’s say … 300 objects in which I would send a message like a bang (one per 200 ms maxi for a tempo for instance)
I guess it can hold the charge!
About the localidentifier, I’m doing this already.
My only worries go to the fact I’ll save & retrieve things to & from XML.
I mean, I’ll have to take care of consistencies a lot.
Indeed, imagine that: I’m calling/placing all the abstractions, passing them the unique id as only argument.
I tweak and alter. I remove some object, adding some other… unique id are all ok even if not contiguous obviously.
I save. (and here, how can I take care of that unique id?)
I reload from my preset/xml stuff… all instantiations occur again with the same contiguous id, messing all.
except if I reload that with .. the unique id stored :-p
naughty boy I am!