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

A bpatcher for MIDI input


Since we have fixed our initialization problems, let's look at the MIDI/GUI keyboard or what we could call the nput stage of our synthesizer patcher. For our convenience, both MIDI input and the [kslider] object (so the keyboard) have been packed into an object called a bpatcher. Bpatchers can load patchers that are saved in the search path, or they can be edited in place. To get familiar with them, create a new patcher, make a new object, and type in bpatcher. An empty square will appear. Now, we have two options. We can go to its inspector (command/Ctrl + I) and enable embed patcher in parent. Then, we can right-click on the bpatcher itself and choose Object → New view of <none>. Now, we can edit the contents of the patcher. The second and more common way is to leave the embed patcher in the parent unchecked and provide a patcher file in the bpatchers patcher attribute in its inspector. In this case, the bpatcher object is not embedded; let's open it and...