Breakin up Engine and GUI

Jan 21, 2008 at 2:45am

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.

#35460
Jan 23, 2008 at 2:05am

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…

yann

#120921
Jan 23, 2008 at 4:10am

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).

hth,
dan

#120922
Jan 24, 2008 at 10:26pm

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?

-Adam

#120923
Jan 24, 2008 at 10:43pm

File > Duplicate. You may have to dupe the entire Max/MSP 4.6 folder, not just the app — I’m not sure.

#120924
Jan 24, 2008 at 10:47pm

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!

/J

jr.abstractions for MaxMSP – new version (2008-01-15)

http://www.sonicescape.net/maxmsp/

#120925
Jan 24, 2008 at 10:57pm
#120926

You must be logged in to reply to this topic.