Learn the basic principles of Max object development and design.
July 27 to 31, 2009
10 am to 12 noon (12-1 lunch break), 1 pm to 3 pm
CNMAT
- Limited to 20 participants
- Workshop fee: $450 (free for any current UC Berkeley student)
- Click the Sign up link above to reserve a space
- Contact johnmac@berkeley.edu for curriculum questions
- Core Teaching staff: John MacCallum, Andy Schmeder, Adrian Freed, with additional supporting teachers during lab sessions
Max/MSP/Jitter is a great programming environment for media applications out of the box, but often your applications require add-on “externals” developed in C, java or javascript. You may be porting existing code, interfacing to an API not exposed already in Max/MSP/Jitter, or you may be simply looking for higher performance. Perhaps you prefer to keep some ideas under wraps and only distribute them in binary form. Or, you may have found source code for an existing external that does most of what you need but you want to add your own special features.
CNMAT’s Developers Workshop for Max/MSP/Jitter Externals offers a supportive, hands-on environment for you to learn the basics of writing Max C externals and sharpening your skills. This practical course covers the basics and also provides time for deeper explorations of specialized topics according to your interests. We'll share our experience with externals (CNMAT developed some of the earliest externals such as multislider, sinusoids~), plus we will cover the special libraries and tools we use at CNMAT to maintain and develop our extensive MMJ depot.
Baseline topics are:
—The development environment (Xcode, Makefiles)
—Starting a project from scratch
—The anatomy of a Max object
—The Max5 SDK (including attributes, and numerous new
features in the latest SDK)
—Debugging
—Optimization
Additional topics include:
—The Max scheduler
—Cross platform portability
—Reliability design patterns
—MSP externals
—Jitter externals
—GUI objects with JSUI
—GUI objects with the new graphics library in the SDK
—Student requests
Workshop participants will master basic principles of Max object development and design. You will also learn defensive programming and debugging techniques to avoid the many challenges and pitfalls the new object programmer faces.
Teacher Bios:
John MacCallum maintains and extends CNMAT’s significant library of externals that is part of the MMJ depot. He has developed randdist, migrator, midifile (java), and others.
Adrian Freed is CNMAT's Research Director. He designed the multislider, lcd and matrix~ objects (now part of Max/MSP/Jitter) and implemented the sinusoids~, resonators~ and oscillators~ MSP externals. His current focus is on interactive interface objects using JSUI.
Andy Schmeder is a Research Programmer at CNMAT and has written numerous Max objects, including accumulate~, firbank~, thread.fork / thread.join, OSC-schedule, OSC-timetag, slipOSC, OpenSoundControl, sphY, uosc.io.usb-serial, waveguide~.