On September 10th, we released Max 6.0.7 with some exciting, major enhancements to Gen, Vizzie, and Jitter Physics plus general improvements and bug fixes.
- Connect with Codebar: Gen patchers now have a sidebar that shows you the text code generated by the patcher in the GenExpr language. This will give you a better idea of what's going on behind the scenes in Gen. Select objects in the patch to highlight the corresponding code segment, or copy the code from the codebar to use inside of a codebox. It's a great way to learn about the connection between visual and textual programming in Gen.
- Organize Subpatchers: Now you can use subpatchers and abstractions to make your Gen patches easier to organize visually and create reusable elements, just like you do in traditional Max patches. Use the gen object, with an optional filename to nest a Gen patcher or abstraction.
- Name Your Send/Receive Objects: We've added the ability to clean up some patch cord clutter in Gen patches with the introduction of named send/receive objects. They are limited for use within one Gen patcher, but they can make patchers easier to read and maintain when you have many objects and connections between different logical sections of your patch.
- Save Time with Loops and Branching: Now GenExpr supports looping and branching constructs like for, while, and if/then. These make it cleaner to write code which does similar things many times, and can save CPU by only evaluating code under certain conditions.
For more information on Gen, check out our Gen Patch-a-day series.
Take advantage of loops and conditional statements in codebox, while monitoring the generated code with the Codebar.
- Grow with Abstractions: All VIZZIE modules can now be used like any other Max abstraction. (For example, the BRCOSR module's abstraction is called vz.brcosr.) You can now integrate VIZZIE modules into your regular patching and use them the way you'd use any Jitter object, and you can mix and match VIZZIE bpatcher modules with VIZZIE abstractions when you don't need a module's user interface (If you do need to see the UI, just double-click on the abstraction).
- Hit the "Stomp Box Switch": VIZZIE module displays still function as on/off "Stomp Box Switches", but you can also use Max toggle objects or 0/1 messages to turn VIZZIE modules/abstractions on and off.
- Discover Presets: You can use Max messages to VIZZIE modules and abstractions to choose presets or interpolate between any two stored presets on the fly.
- Try the New Modules: VIZZIE now includes two new modules and abstractions: Use CROPPR/vz.croppr to sample a portion of your video and move it about, or expand it to full frame size. And the WYPR/vz.wypr will come in handy for those classic screen wipes effects (try 'em with a little CHROMAKEYR and some vz.rotatr for some serious fun).
In Max 6, Jitter Physics is a new system for programming physical simulations in any Max patcher, opening up traditional game engine features and realtime motion graphics techniques. Since it is integrated with Max, you can also use physical systems for more subversive tasks like controlling audio or video in ways that have nothing to do with physics or animation as we know it. Based on user feedback, we've added many useful features to Jitter Physics in Max 6.0.7.
- More Useful Collisions: We've made major changes to detect and make use of how and when objects collide, including collision force and normal information, and the ability to find collisions from an individual object when it happens rather than in the world's reporting of all collisions.
- Come Together with UI handling: We've improved how objects can be selected and operated on with mouse and other UI events, and how the physics system and the OpenGL system can work together.
- Physics Multiplied: Using jit.phys.multiple you can easily create many instances of the same physics body by passing a Jitter Matrix. In this update, jit.phys.multiple gets a set of really exciting new features like the ability to add constraints (joints, motors, etc.) to these instances for more complex simulations.
This fabric simulation uses jit.phys.multiple with constraints to easily generate an interconnected web.