Breakin up Engine and GUI
People have mentioned creating a GUI and engine as separate entities, then running one in runtime.
What’s the recommended method of connecting the two. Someone just mentioned OSC as a way to do it, but what about netsend/receive or other techniques?
I guess what I’m looking for is some practical experience before I dive in on this one, since it seems like there are a variety of ways to achieve the same results.
I’m a little skeptical, because of all the issues in XP with freeze-ups when you select different windows. I’m curious to see if I can be outputting from one window and still poke around on another without it causing trouble. This is one reason any "drag and drop" features of max 5 will be pretty much useless in performance from my perspective. A integrated file browser would be more useful, if it didn’t break the flow of the scheduler. Apologies for digressing.
My current plan is to create an engine with Quicktime players, routing and mixing of signals to textures, GL objects and Rendering. Then have a seperate GUI for all the control.
breakin up engine and GUI and running them with two instances of the runtime gonna be efficient mainly if your computer has a multicore processor.
recently, i’ve built a "dual movie" player based on 4 instances of the runtime (1 for the core with clock, 1 for the ui, 2 for the movie players) which were intercommunicated with udpsend/receive.
on a Mac Pro with 2 x 3.0GHz Dual-Core Intel Xeon, I can open a dialog window from the ui without interrupting the playback (neither the display) of the movies…
I’ll throw in my bit of experience with this sort of thing….
I have used two instances of Max to divvy up my video processing and
it worked out quite well. I was using xray.jit.water in one instance,
which was quite processor-intensive, so I split that part of the patch
off and ran it in one instance. With jit.net.send/recv, I was able to
send a 1 char 720 480 matrix between instances at a solid 30fps (on a
MBP 2.33GHz, 3GB RAM, Radeon X1600). I did experiment with
jit.broadcast and jit.qt.broadcast but I don’t recall the results. :-X
Note: on Mac it’s easy to just duplicate Max/MSP and have two editable
(non-runtime) instances going at once — not sure how it works on XP.
From what I gather, OSC is definitely the way to go for sending
control data (I haven’t done it yet).
Quote: Dan wrote on Tue, 22 January 2008 20:10
> Note: on Mac it’s easy to just duplicate Max/MSP and have two editable
> (non-runtime) instances going at once
Forgive my ignorance, but how do you do that?
File > Duplicate. You may have to dupe the entire Max/MSP 4.6 folder, not just the app — I’m not sure.
24/01/08, kl. 23:26 +0100 , skrev Adam Murray:
>Quote: Dan wrote on Tue, 22 January 2008 20:10
>> Note: on Mac it’s easy to just duplicate Max/MSP and have two editable
>> (non-runtime) instances going at once
>Forgive my ignorance, but how do you do that?
In the Finder – ctrl click the .app – and copy. Voila!
jr.abstractions for MaxMSP – new version (2008-01-15)