After installing Max 5.0 and opening it the first time, the first window to appear is a striped empty text display window named the "Max window." many programmers would more likely call it the "debugging window," and sometimes it's called the "message window" instead because, obviously, all the application's windows are, in a broader sense, Max windows. So a different name that that which appears in the window menu is often useful for clarity. I will call it the message window. However such renaming in the software itself would probably be unwise, as it would cause more confusion in the documentation.
The first appearance of this message window may be a little perplexing to some novices (including me), as it is not intended to do anything at all except display messages. Most programming software displays debugging information only after
one has actually executed a program. But the documentation is proud to point out that Max 5.0 was redesigned as an MDI application instead of SDI as was its predecessor. Hence, the first window is an MDI Max window called the Max Window, which is the message window, and not the patcher window.
Here I pause significantly. If we need to be taught the difference is between 'MDI' and 'SDI,' the documentation provides an excellent explanation. I would be trivializing it to say that Max/MSP 5.0 has more than one window, whereas 4.0 had child windows within one parent window. Now if this application were intended for people without programming experience, the documentation would not be interested in telling us that it is an MDI application, and explaining in detail the difference between MDI and SDI. The documentation would simply state that Max/MSP has multiple windows.
Therein, basically, before even the first design is open, one already has plenty of forewarning as to the experience of learning Max/MSP. If you previously have programming experience, it will not be surprising. If you are wanting to learn how to program software, well...it's a fun way to learn some fundamental programming skills, I guess; and there is no way one could do anything in Max without those skills.
The first thing we need to do after opening the application is look at the online help.
Max/MSP has much more documentation than Reaktor, and the documentation is actually written in Max/MSP itself. We can 'unlock' the Max/MSP documentation and copy chunks into our design window (which is called a 'patcher window'). This is a wonderful way to do things, and it's great to have lots of online documentation, but it doesn't print very well, and the extent of the documentation is so great it in fact is daunting at first.
Yes, there are dozens of long online tutorials. They are quite thorough and fully cross linked. However even experienced people in Max/MSP (often called 'Maxers') recommend instead starting with the documentation from Peter Elsea ("PQE") who is a Maxer Professor at the University of California at Santa Cruz (UCSC). His FTP archive is here:
These are really excellent tutorials, and they also print well, because they are formatted as PDFs with page numbers and everything. The tutorials make mention of his own "LObject" library additions, but I don't advise installing them for a while. The 'factory-installed' library is quite large enough to keep us busy for a long time.
The Patcher Window and the First Object
Besides the amount of it (which is really a blessing), the only problem with the tutorials is that they sometimes assume a teacher is also at hand to demonstrate the described procedures. But actually, there were only a few simple additional facts I needed to know before I could get started.
Once the message window opens, the first thing is to open a "New Patcher" window (from the message window's "File" menu). A window opens with a reassuring instruction in gray to double-click the background:
Double clicking on the window background opens the new Max/MSP 5.0 object palette. These first two clicks display a small set of the most common objects:
This palette appears to have changed somewhat over time--by the time you read this it may be different again. In the current version there are tabs displaying pretty icons for a small subset of the objects. You may learn a few of these placements and get to them directly via the palette, but the palette catalog is too small a subset to be useful on all but a few occasions. The most important part is the "new object," icon which is in the top left corner of the palette's "All" and "Recent" tabs. Clicking on it inserts an empty box on the page.
Getting to the Object Menu
It's not unusual, I've learned, to get stuck here for a while, because the interface again has changed a bit from one version to the next, and a very precise set of steps are required which are described differently depending on when the description was written. For the current version, let's assume you've already inserted a new unnamed object as described above:
1. Make sure the patcher window has focus, that is, that the window is on the top of all other windows. On Windows, this means selecting the window with the mouse ('first click'). If another overlaps and the desired window is in the back, you have to click on the title bar. I learned very quickly to lay out windows so they do not overlap, as sometimes it can be difficult to get to a title bar. There are some utilities (I think Xmouse in the Windows Powertoys suite is one) which switch focus to the current window automatically. If you plan to make large patches (which will have many sub-patch windows) it would be a good idea to install such a utility. It can be aggravating to click or reclick multiple times depending on whether a window has focus.
2. Now we need the text cursor inside
the object. If the text cursor is not flashing inside the box, click again inside the rounded-edge rectangle of the new object. When the object has not been named yet (there is no text in the rectangle), only one click is required ('second click'). If there is already text in the rectangle, that second click selects the text but does not position the cursor in it, so click yet again ('third click') for the cursor to appear in the text.
3. Now it is finally possible to see the object menu for an already existing object (or after up to five clicks when inserting a new object). Note there can be between one and five clicks to get to this point (after a while, it does become more of a reflex action, but it has to be learned). Now move the mouse over the left edge of the rounded rectangle object, and when in exactly the right spot, a blue circle with white lines inside it appears.
4. While the blue circle is visible, move the mouse carefully so it points within the little circle. Now left-click again. The object menu appears! Hurray! I note here, my intuitive action was to right-click in the object for some reason, but that opens the 'inspector window' instead. But then I realized it was all left clicks to this point, up to six of them depending on the situation, and that wasn't so hard to remember. The inspector window looks like a filled in message window, and if it appears, it's best to close it right away, because it is not focus savvy (a future topic).
5. But now, do not
click on the object menu! Instead, hover over it to open the submenu! Then move the mouse over the submenu and click there to select an object!
Now we've inserted our first object from the object menu. It can take up to seven clicks, and several mouse manipulations. Now maybe you think that ain't so much, but I think we deserve a coffee break. And I'd think it's a good idea to practice opening patcher windows, inserting new objects, and then clicking in them to change them at least a couple of dozen times before trying to make an actual design. But maybe you're more talented at mastering click sequences than me, and you're ready to plough ahead already.