Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By : Patrik Lechner
Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By: Patrik Lechner

Overview of this book

Max 6 and TouchDesigner are both high-level visual programming languages based on the metaphor of connecting computational objects with patch cords. This guide will teach you how to design and build high-quality audio-visual systems in Max 6 and TouchDesigner, giving you competence in both designing and using these real-time systems. In the first few chapters, you will learn the basics of designing tools to generate audio-visual experiences through easy-to-follow instructions aimed at beginners and intermediate. Then, we combine tools such as Gen, Jitter, and TouchDesigner to work along with Max 6 to create 2D and 3D visualizations, this book provides you with tutorials based on creating generative art synchronized to audio. By the end of the book, you will be able to design and structure highly interactive, real-time systems.
Table of Contents (19 chapters)
Multimedia Programming Using Max/MSP and TouchDesigner
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

The event priority


The event priority in Max is something one might not be aware of all the time, but having an idea about it helps a lot. To put it simply, there is a high priority thread (often called the scheduler) and a low priority thread (often called the queue) for Max messages if we turn on Overdrive. Otherwise, these are executed in one thread, with the same priority. Max just has two lists of things to do and does the things on both lists, but it can interrupt things being done on the low-priority list, to first finish the high-priority thread. What events are in which thread? Things such as GUI interaction get in the low-priority thread while MIDI input, for example, is in the high priority one. We can use the [deferlow] object to place an event at the end of the low-priority queue, or [defer], to put it at the top of the low-priority list. The [defer] object, therefore, might mess up the order of events since there most likely are things on the low-priority list to be done and...