How far can Max / MSP & Jitter go?
not sure what you want to hear.
max can build guis. there are several prebuilt gui components you can choose from, or you can build your own in several different ways.
if you want to use opengl look at gl.sketch and gl.text2d/3d
mainly, do the tutorials, come up with some example of what you’re trying to achieve, post it to the forum with specific questions, and you’ll be on your way.
thanks, i will look at all this patches. It just seems to me, that its not so easy to just say something like:
create a red circle which moves acros the screen and stops when i click on it.
which is easy done in processing e.g.
but i guess i have to dig in deeper to understand what can be done in Max
i definitly not recomment creating complex ui Max / MSP & Jitter.
Max / MSP & Jitter has its advantages in realtime data processing and has a lot of effective uis to control the data.
it is very uncomfortable to creating your own interfaces.
preparing grafics, dealing with mousestates, hitdetection, render and format text etc.
if you have a project, which needs a compex and good looking interface design with performant data output, you should think about doing the intrface in fash or processing and connect it via osc with max.
Quote: videomasta wrote on Wed, 10 September 2008 17:04
> i definitly not recomment creating complex ui Max / MSP & Jitter.
> Max / MSP & Jitter has its advantages in realtime data processing and has a lot of effective uis to control the data.
> it is very uncomfortable to creating your own interfaces.
> preparing grafics, dealing with mousestates, hitdetection, render and format text etc.
> if you have a project, which needs a compex and good looking interface design with performant data output, you should think about doing the intrface in fash or processing and connect it via osc with max.
i dont agree with the above statement, i would say that you need lots of programming experience to make a complex UI… dont expect to dive straight in and make really complex projects, start simple and build things up bit by bit.
but that’s the same for flash / processing…
experience is not the point. of course, you have to learn :-)
what i mean is:
in flash, for example you have hundreds of ui specific functions.
in max/msp, you have to do everything by youself.
you also have a very smal user community, who are specialized in
proffesional ui developement. in flash you have thousands of users and thousands of example files. i woud say you can develop a ui 10 times faster in flash than in max/msp an your code is much more stable. (same experience level assumed)
I also disagree with the UI statement. Max provides a ton of UI objects for you to mess with, plus the parameters and attributes of each are FAR more easily-controlled than in Flash or Processing. The "advantage" of Flash or Processing is that the code/logic is separated from the UI, which is great to avoid screen crowding, but also forces you to keep switching back and forth from the UI to the logic. Max has everything together, which admittedly can become cluttered, but that’s not the fault of the program, it’s up to the organization of the user… you can do everything in a single subpatch or .js if you want, then hide it. The advantage is with rapid prototyping of ideas and with the included objects that work intuitively, in which Max absolutely destroys Flash or Processing, in my experience.
Sure there are a lot of elements of Flash that Max doesn’t include by default: tweening, dragging, non-rectangular hotspots, etc. But for most things I’ve wanted to work with (dj, vj, visualizers, data analysis, sound synthesis, video capture, etc.), Flash is way more cumbersome. Yes, you can make a red ball go across the screen in a matter of seconds, and it takes more time to do that in Max. But going much further with that will take way more time in Flash… having the ball’s size and color react to where the mouse is, complete with controllable fade time? respond to the volume of a soundfile you’re playing? render itself as a 3D sphere which you can texturize with a movie and rotate automatically? run through a set of user-recorded parameter changes? change its shape and color according to a series of user-saved presets?
As an example, anyone ever try to record user-changing parameters in Flash, then play them back or save the automation? Like how a DAW such as Reason does with track parameters? Good luck with that! In Max it’s super easy with mtr. How about a step sequencer for MIDI notes or for triggering images/videos/GL shapes? Matrixctrl is your friend. Would you really want to build one of these in Flash? Not to mention all the math functions like line and counter which makes so much automation easy and useful, and provides a ton of possibilities which would take way too long to create using code.
I’m kind of puzzled when I hear "max is bad for creating UI’s", actually… it’s a UI-creation program! In my experience, it’s one of the best ones out there for getting things up and running in a hurry… if you want the UI really pretty and slick, this will take time, but it would take time in *any* environment, and in something like Processing it would take eons, as you have to create all the UI objects from scratch. Plus, performance in Processing leaves a lot to be desired, thus far. Flash is a lot better in this regard, and does have a much broader user base. However, when you want to really get into detailed control of your parameters and be able to manipulate them in real-time, it’s severely limited without a *ton* of work.
OK, upon rereading that sounded like a rant. My apologies. I stand by what I said, but it sounded too harsh. Time for a beer. :)
Actually, I came to Max a couple of years after Flash, and perhaps
because of this, for a long time I found building UIs far more
straightforward in Flash than Max. As always, mileage varies.
Nowadays however I’m not going to reach for Flash at all… But I
still have a tendency to want to organize the higher level control
aspects of patching with a scripting language rather than dataflow
(the addition of js to Max was a lovely treat, and then jit.gl.lua
On Sep 20, 2008, at 6:36 PM, Seejay James wrote:
> I also disagree with the UI statement. Max provides a ton of UI
> objects for you to mess with, plus the parameters and attributes of
> each are FAR more easily-controlled than in Flash or Processing.
> The "advantage" of Flash or Processing is that the code/logic is
> separated from the UI,
In fact the learning curve with Flash was a lot easier because the
code was actually embedded into the timelines of movie clips (+ the
code snippets could modify the playback of this timeline), and these
clips/timelines are nestable and can be created on the fly. I think
this is a pretty novel and powerful idea – haven’t seen much of
anything interesting in that way in music software (especially not in
Not sure if this is still how people are using Flash these days, this
was quite a few years back.
> change its shape and color according to a series of user-saved
> presets? As an example, anyone ever try to record user-changing
> parameters in Flash, then play them back or save the automation?
Yeah, did some of that in actionscript. Made a really nice flash file
in which I could draw animations by hand, and they’d be recorded and
playback accordingly, then I could muck around with the way they
played back, different kinds of tweening, spawning new gestures, edit
them, etc. Made for much more organic and expressive animations that
the typical easing/tween combo. Also made a graphical sequencer that
spat out controls to control Max using Flosc. Well, it worked, but it
was dead slow.
Most of that kind of code was portable to JS in Max (this was when
actionscript was basically ecmascript), except that replacing
NewMovieClip and on(MouseOver) kinds of things were a bit trickier…
maybe a valid contribution would be an Flash-AS -> Jitter-JS
compatibility library… or maybe that would have been valid three
> Would you really want to build one of these in Flash?
Not these days, I admit. But I guess my point is that it will depend
on your background. Max offers an enormous range of different
approaches to work, which might be daunting to a beginner (the
tutorials are wonderful but I remember the first time I saw them I
didn’t think I’d actually read them all… but as the Max universe
expands…). Maybe an entry guide to Max/Jitter for the Flash/
Processing-centric would be a good thing?
> Not to mention all the math functions like line and counter which
> makes so much automation easy and useful, and provides a ton of
> possibilities which would take way too long to create using code.
OK line I can sort of understand, but counter too long to create
using code? "mod(count++, maximum);"? Sorry, couldn’t help it.