As noted in the main portion of this review, the major changes in Max 5 are in the documentation and user interface, not in the Objects themselves. But longtime users may be interested in knowing what the new Objects are, just in case there''s a useful new feature they might otherwise miss.
NEW OBJECTS RELATING TO TIME
Transport: lets you control the musical timing by starting, stopping, moving to a particular time, reporting time values, or otherwise controlling or interacting with the time flow of your music.
Translate: translates between different units of time (for example, milliseconds to ticks).
Timepoint: can be used to trigger an event when the time reaches a certain point. The Timepoint Object can also change time flow and tempo, create loops, and so on. When: reports the current time of a transport Object.
NEW JITTER OBJECTS
Jit.gl.cubemap: works with cubemap textures in OpenGL.
Jit.gl.asyncread: fast reads from a framebuffer in OpenGL into a Jitter matrix.
Jit.scope: an Object for displaying Jitter matrix data in waveform, vectorscope, histogram, or parade formats.
MISCELLANEOUS NEW OBJECTS
Itable: this is exactly like the Table Object except the Table is graphically displayed in the patch. (With the old Table Object, you had to double-click on the Object to view the graphic display of the Table data.)
Round: rounds off a floating-point number to the nearest whole number.
Pattrmarker: allows you to communicate between Objects that occur in different Patcher files.
Jweb: displays Web pages and other HTML-formatted documents in your patch.
Tab: lets you create a tabbed or multiple button control.
Textbutton: a simple push button that has a text label.
Hover: allows you to send messages when the mouse hovers over Objects in your patch, adding new kinds of interactivity in your patches.
The Timeline feature is not supported in Max 5, so the following Objects are no longer part of the program: ThisTimeline, ThisTrack, TiCmd, Timeline, TiOut. These Objects were considered outmoded, especially given the addition of the new musical-time Objects. Envelope Objects Env and Envi are no longer present in Max 5 due, I assume, to the fact that the Function Object provides much more flexible, powerful, and graphically useful ways to work with envelopes.
The Detonate Object no longer has a graphic editing window.
A MAX EXAMPLE
Here''s an example of a Max project I just finished. I''m performing with an M-Audio Trigger Finger drum pad and MIDI controller, mostly using Native Instruments Absynth as a source of sounds. I wanted to create a convenient note mapper so I could quickly and easily change what note each keypad produces while performing. The patch lets me create and select presets without interrupting the performance. I wanted to use the Trigger Finger to trigger sounds in Absynth, so I also included a VST interface in the patch.
Fig. A is a screen shot of Presentation mode. There are 16 Keyboard Objects, each representing a drum pad on the Trigger Finger. You click on the note you want each pad to play, then Shift-click on one of the preset buttons to preserve the current configuration as a preset. (Just click on any preset button to recall that preset.) Click on Load New VST Plug-in to load the plug-in of your choice, and click on Open VST Edit Window to view the edit
window of the currently loaded VST synth. Fig. B is Patcher mode showing the circuitry of the patch. MIDI notes are received from the default MIDI input device (you could create a MIDI In selector very easily, but I''m using only one MIDI input for this project, so I didn''t bother with that for simplicity). Each note is mapped to the key designated by its corresponding onscreen Keyboard Object and then sent to the VST device.
Fig. C shows a Subpatcher called notedecoder. If this simple decoder receives the MIDI note associated with a particular drum pad, it proceeds to send a mapped note to the VST synth. In this case, the MIDI pad that sends Note Number 49, the upper left-hand drum pad, is the one the circuit responds to. I used a Subpatcher because these same 5 Objects are repeated for all 16 drum pads. Encapsulating them in a Subpatcher simplifies the appearance of the circuit and makes it clearer.
This relatively simple project (see Web Clip A) is a good example of the practical sorts of things you can do with Max. A project like this doesn''t take a huge amount of time to create, and, in fact, it''s kind of fun—a little like building a model airplane as a kid!