Chapter 3. Advanced Programming Techniques in Max

We've now got the basics out of the way. In fact, for anything that you see in the forthcoming chapters that you don't understand, you should have a couple of ideas in mind on how to get information. Therefore, we'll increase the tempo here a bit. We'll start off with getting into initialization more because it can be a frustrating thing if you aren't aware of some methods. After that, we'll cover message ordering, bpatchers, subpatchers, lists, and more. All of this will be shown using a practical example: a simple synthesizer. If you aren't interested in synthesis at all and if you are more the Musique concrete guy, to use this really old differentiation, you will learn even more if you just implement a sampler, for example, using the shown techniques!

We will be covering the following topics in this chapter:

  • Initializing a patcher
  • Microscopic timing and message ordering
  • Sending, receiving, and collecting data
  • Structuring the patchers
  • Timing in Max and prioritizing events