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

Collections of data


Now, let's find out how our initial two patchcords (pitch and velocity) in the MIDI part of our synth became one. Of course, they were packed into a list by an object that's conveniently called [pack]. Lists are great. However, there are not only lists that consist of two integers; for example, there is the [coll] object that manages larger amounts of data, but also dictionaries in Max 6. Look at the list_examples.maxpat patchers, which are also depicted in the following screenshot, to get into lists a bit, and datatypes.maxpat (which is not depicted here) to get a feeling of datatypes and the conversion between them:

We will meet lists often and get more and more familiar with them. The key objects are [pack]/[unpack], [pak], [join]/[unjoin], [vexpr], [zl], [append]/[prepend], [route], [table], [itable], [coll], and the [dict] family. To look at a more concrete and usable example of some list-related techniques, let's look at the midi_abbr_configure.maxpat patcher:

This...