Explore the Online Tutorials
Offer ends May The downloadable demo was completely functional, so I could investigate whether it really was easy to use, set up with straight-ahead Syphon output support, and so on. You read that right: I could develop video plug-ins using Max for Live. So I decided to download and install the demo, and to try creating video plug-ins.
Barking Project. For starters, I downloaded and installed Videosync from the Showsync website. I started at the beginning and opened the very first tutorial page - your first plug-in - and ran through the tutorial.
It was well laid out and quite easy to follow:. I was a little surprised that it was that simple — I figured there would be a whole lot of exotic programming rather than the act of creating and patching in Max for Live that I was already pretty familiar with. In this case, the fun part was finding the shader I wanted to use when building my plug-in. So I spent a few… okay, I spent a couple of hours chasing through the shaders on display.
The website display of each shader included a chance to see it in action, and also to check out the parameters for each shader in a nice interface that let you click and drag on a set of on-screen faders or link that parameter to an LFO to check out what they did to what you saw.
I clicked on the download link and grabbed a copy of the shader file, ColorDiffusionFlow. Since that first shader tutorial covered how to change the plug-in patch to load a new shader and showed how to add a parameter, I had a good idea of what the process would look like.
I got to work by making a copy of the Lines plug-in folder and renaming it to match my new plug-in: CDFlow. I took the ColorDiffusionFlow. I also changed the name of the Lines. The display window is purple because you need to actually read in the shader file and assign parameters.
The patcher has two basic parts. To the left, an abstraction called videoDevice passes your messages to Videosync, which does all the heavy lifting of loading the shader code used in the plug-in.
All we need to do to change the shader our plug-in loads is to change the message box contents to name our new shader, ColorDiffusionFlow. The file ColorDiffusionFlow. The rest of the patcher to the right is concerned with the plug-in parameters themselves. Again, the patch displays the original pair of parameters associated with the Lines example plug-in that handled rotation radians and line density density. That portion of the shader code in the file tells us everything we need to know to set up our plug-in, and also provides some helpful data for good plug-in design.
We also have default setting for both parameters 1. All we need to do to finish up our shader port is to add live. Good patching design in Max often makes use of the ability to use the Max Inspector to set things like default values and minimum and maximum ranges for the display and output as well.
The input section of our shader code gives us just the information we need. All we need to do is to add a live. We do this by using the Inspector. The following example shows how we set up the rate1 parameter for our shader. We add a live. To set the live. To set the default parameter for the object, make sure that the Initial Enable checkbox is checked, and double-click in the data column and type in the default value you want to set, as shown:.This tutorial will cover the concept of encapsulation within Max.
Encapsulation allows us to place sections of our patcher within their own subpatch using the patcher object.
Creating Videosync Plug-Ins in Max for Live
This lets us hide parts of patcher logic that we no longer need to see, in order to make our projects easier to read and more concise. We will examine the creation of a patcher that contains objects, as well as using some editing tools to encapsulate parts of a patcher that no longer need to be seen. Properly encapsulating your Max logic is important for keeping your patch files clean, easy to read and maintainable. Encapsulated logic can be easily edited, and can also be saved as separate files that can be reused in other patches.
To open the tutorial patch, click on the green Open Tutorial button in the upper right-hand corner of the documentation window. At the top-left of the tutorial, there are two small patches that do the same thing — they both add 5 to the incoming number.
The patcher object which can be abbreviated "p", much as trigger can be abbreviated "t" is literally another patch embedded in the current patch. To see the contents of a patcher object, you can double-click on it when the patch is locked to open the encapsulated patcher object's window. If we double-click on the patcher add5 object, a small patcher window shows the contents in a window labeled add5 - the name of the subpatch. It is a simple subpatch, with only three objects.
An inlet object causes the enclosing patcher object to have an inlet, while an outlet object causes the enclosing patcher to have an outlet. In this way, we can make patcher objects that act very much like built-in Max objects. Multiple inlet and outlet objects will create corresponding inlets and outlets on the enclosing patcher object, arrayed spatially in relation to how they are in the subpatch e.
When working with inlet and outlet objects, it is useful to add assistance to them; in this way, the enclosing patcher can display helpful information about the type of message that is expected by the inlet, or produced by the outlet.
Any text that you enter in this field will show up as assistance in the patcher object during patch editing. In these cases, it would be useful to be able to select a group of objects and quickly turn them into a single encapsulated patcher. This can be done using the Encapsulate menu item. Our example patch has an interesting drawing algorithm, where you move a puck around a rectangular area using an object called the pictsliderand small circles are drawn in the area randomly near the equivalent position in the lcd at the bottom of the patch.
If you need to clear the lcdyou can hit the space bar ASCII character 32captured by the key object and triggered by the select object. We are going to select a majority of the logic and encapsulate it into a subpatch. Unlock the patcher, then select using click-and-drag all of the objects between and to the right of the comment boxes.
Select Encapsulate from the Edit menu, and you will see that all of this logic is folded into a single unnamed patcher patcher. If you lock the patch and double-click the patcher object or command-double-click in an unlocked patcherit will open the subpatch and show all of the objects again, tied to the outside world using four inlet objects and one outlet object.
If, for some reason, we needed to reverse this process later, the De-encapsulate command under the Edit menu will unravel the subpatch back into our main patcher, re-connecting everything correctly as it was originally. It is often useful to name our patcher objects; while this adds no particular value to the patcherit will help you and others understand the logic that is encapsulated into the object.
When you know ahead of time that you want to work within a subpatch, it is easy to create a patcher object and work within its editing window. At the lower-left is a pair of number boxes connected by — nothing. We will make a subpatch here and use it to convert one value into another.
Create a new, blank object in between the number boxes by parking the mouse there and typing "n". In the new object box, type p mycalc - this will create a new patcher named mycalc.There are many benefits to Max for Live; for one, it comes with a number of ready-to-use devices, including the entire Pluggo collection of synths and effects.
In addition, the Max for Live community is a rich resource for hundreds of devices. Max for Live is also a powerful tool for making or customizing your own devices, as it puts the limitless possibilities of Max, MSP, and Jitter inside of Live.
Cycling '74, the creators of Max, have uploaded a comprehensive new set of tutorial videos for programming in Max for Live. If you're an absolute beginner, these 18 videos will take you from Max's core concepts to making your own instruments, effects, and devices that interface with Live's API. If you're a seasoned Max programmer, then don't miss these tutorials for inspiring ideas. Here's video When you're ready, access the full playlist on Cycling '74's YouTube channel.
What's more, you can use the techniques to get inspired or get going on your own ideas.
However, the use of technically required cookies is essential for the website to function. Close Accept More info. News Push: Playing Hardware Instruments.The code you see here is a Copy-Compressed code for Max. It makes it easy to share patches with other users. If you want to dig in, here's a more detailed guide about our Tutorials and Reference Pages. Edit any patch, or take them apart to make them your own. Copy and paste from any patch into yours.
When in doubt, Max 8 features a powerful Search Sidebar to help you access thousands of resources in Max and online.
Max Tutorials - Table of Contents
Find it by clicking on the search icon found at the top right hand side of the patcher window. Youtube Series: Max 8 Tutorials. Max Cookbook. Offer ends May The Main Ideas Program visually Create custom applications by connecting objects together instead of writing lines of code.
Build anything From audio and video synthesis to interactive media installations and robotics control. The sky's the limit!
Integrate hardware Add more physicality and control to your projects by connecting almost any external device. Patch This refers to the programs that you create in Max.
You create Max patches and you patch in Max. This is what a simple one looks like. You unlock a patch to edit it and you lock a patch to perform with it and adjust UI objects. Patch Cord Patch cords are what you use to connect objects in Max. Information is passed from one object to another using a patch cord. Object Objects are the building blocks of a patch — they perform specific tasks, and operate like miniature programs within the larger environment.
Here is a print object. Attribute Many objects have attributes, which are settings or properties that tell the object how to do its job. In this case, popup is an attribute of the print object. Message Max patches function by passing messages between objects. Messages tell objects what to do. When you press this message box, it tells the "print" object to print "hello maxers! Bang Bang is a type of message that tells the receiving object to do whatever it is designed to do.
This button sends a bang, telling the print object to "Go! Try it out in Max! Search Sidebar When in doubt, Max 8 features a powerful Search Sidebar to help you access thousands of resources in Max and online. Check out handfuls of awesome demos that use Max, and then immedately get started on your first Max patch. Youtube Series: Max 8 Tutorials with dearjohnreed Learn the ins and outs of Max 8 with this extensive video series. Here's a great introduction to the most commonly used Max objects.I'm going to finish out our short series on Gen with a quick look at perhaps the least well-known of the Gen family: the gen object "gen" without the tilde.
One of my favorite things about Max: almost all the examples and patches can serve another purpose with the addition or removal of a few patch cords or objects. Welcome to the third and final part of our tutorial series specifically designed for Max for Live users who are interested in creating their own devices. During a visit to NYC a number of years back, I discovered the beautiful obsessive drawings of Martin Thompson and turned my respect into a Max tutorial. In this minute video, I'll concentrate on some basic UI design approaches, including working with Live 10 themes, Live device width and good design, and best practices for working with live.
This tutorial series is specifically designed for Max for Live users who are interested in creating their own devices. Offer ends May Explore the Online Tutorials Tutorials are an ideal way to accomplish a task, learn a new strategy or brush up on your skills. In addition to our in-app Examples, Tutorials and Help Files, you can find new ones here. Includes Video. Includes Patch. Winter's Day jit. Max What is Max? Download Max 8.MSP gives you over Max objects with which to build your own synthesizers, samplers, and effects processors as software instruments that perform audio signal processing.
As you know, Max enables you to design your own interactive programs that draw, play movies and sounds, respond to mouse and keyboard control, and integrate with outside devices through MIDI and other communications systems.
With the addition of the MSP objects, you can also create your own digital audio device designs -- your own computer music instruments -- and incorporate them directly into your Max programs. If you like, you can specify exactly how you want your instruments to respond to your control, and you can implement the entire system in a Max patch. MSP objects are connected together by patch cords in the same way as Max objects.
These connected MSP objects form a signal network which describes a scheme for the production and modification of digital audio signals. This signal network is roughly comparable to the instrument definition familiar to users of Music N sound synthesis languages such as Csound. Digital Audio explains how computers represent sound. Reading this chapter may be helpful if MSP is your first exposure to digital manipulation of audio. If you already have experience in this area, you can probably skip this chapter.
Almost everyone will want to read this brief chapter. Each chapter is accompanied by a patch found in the MSP Tutorial folder. Like the Max Tutorials, chapters are grouped under headings that make it easier to find what you're looking for and navigate the tutorials by your subject of interest.
The MSP Tutorials are grouped into thirteen sections:. Even if you were comfortable with other digital audio programming environments before getting started with MSP, you should at least check out the first tutorial, which covers setting up Max to make digital audio come out of your computer.
It's organized in alphabetical order.
You can easily find specific information using the search bar at the top of this page. If you type in a term you will be shown a list of pages that feature the term, including object reference pages, snippets parts of patchers that show the object in use tutorials, and guide articles that feature the term. The help files found in the max-help folder provide interactive examples of the use of each MSP object.
The Max Examples folder contains a number of interesting and amusing demonstrations of what can be done with MSP. The Cycling'74 website provides the latest updates to our software as well as an extensive list of frequently asked questions and other support information. The website also features an on-line Max discussion where you can ask questions about programming, exchange ideas, and find out about new objects and examples other users are sharing.
Finally, if you're having trouble with the operation of MSP, send e-mail to support cycling A newer version of Max is available. Click here to access the latest version of this document. Max v7. Signal processing in Max MSP gives you over Max objects with which to build your own synthesizers, samplers, and effects processors as software instruments that perform audio signal processing.
A filter and delay effect processor in MSP. Check out projects made by other Max users. Max Basics.In this tutorial, we will examine the building blocks of a Max patcher: the object box, the message box and the comment box. We will also delve into some of the basic editing functions provided by the Max environment. This brief tour of a simple patcher will show the basic typology of simple programs written in Max: object boxes that perform command actions within a patch; message boxes that allow us to create messages that can be sent to the objects; comment boxes that allow us to document our patchers to make them easier to understand.
To open the tutorial patch, click on the green Open Tutorial button in the upper right-hand corner of the documentation window. Take a look at the patcher 01mHello. At the top right-hand side of the patch window, we can see three types of boxes. The first element is the box labeled print. This is an object box, and can be recognized by its rounded outline and in this case a small "port" at the top left that we call an inlet. Object boxes are the basic logic element of Max — they contain functions that perform some sort of task, and operate like miniature programs within the larger environment.
Just below the object box is a message box labelled with the word "message". These are visually different from the object box — they have a gray background, and do not have an outline. Message boxes contain some information called a message that can be sent to objects, and can operate as either commands or control data.
This is a comment There is actually a box around this text, but it is not visible until we decide to edit our patch. A comment box is used to add text for labeling controls e. Max programs function by passing messages between objects. Object boxes can be connected to one another, and message boxes can be used to originate or, in some cases, process messages that are used to control other objects.
When you first opened this patcher, it was in a "locked" state — meaning that you cannot edit any of the objects or text in the window. When a patcher is locked, the intention is that it be used as a program. Since the power of Max is that we can edit and manipulate these programs to do whatever we like, let's unlock this patch and do some editing.
Choose Edit from the View menu. You will see several changes in the patcher. First, the boxes surrounding the comment boxes are revealed we told you they were there. Secondly, the message and comment boxes show inlets that were hidden in the locked state. In addition, ports on the bottom of these boxes are revealed; these are outlets. Finally, many more of the icons at the bottom of the patcher window are now available for our use.
In addition to the visible changes, we are now free to edit the contents of the window. Double-click inside the object box in the upper-right that says print ; the text is selected, and you can type another object name into that box. Type "metro" without the quotesand click outside the object box to complete the edit. We have now changed the function of that object - it is now a metro object. You will see the object box change size, and the number of inlets and outlets will change as the function of the object has changed.Cycling '74: Welcome to Max 8
We learn Max by building up a vocabulary of objects, including how they connect to other objects and what messages they understand and transmit. Double-click inside the message box on the right. Change the message text to anything for example, type in the word "anything"then click outside the box to accept the change. Note that changing the message text does not change the inlets or outlets, since only the contents but not the function of the message box has changed.
Finally, double-click inside the comment box and change its text. Since the comment box has no function other than adding text to the patch, you are free to put in any text that pleases you.