- An Overview of Vizzie
- Max takes a different approach to programming.
- You program using visible connections between objects rather than textual editing.
- The basic paradigm is: create objects, then connect them with patchcords.
- One way this changes things: You can run the program while editing it!
- Another way it changes things: It preferences iterative (on-the-fly) programming.
- One important aspect of Max is the creation of reusable systems based on existing objects.
- Vizzie is a system of these "reusable modules", and is the system we will be using for our work.
- How You Select Vizzie Modules
- Vizzie is built with Max, and uses all of the strategies of Max programming.
- Vizzie has a specific purpose: to allow us to have fun manipulating visuals while learning the Max development system.
- You get to Vizzie modules in two ways:
- You can use the contextual menu (my favorite).
- You can select modules off the File Browser.
Create a Basic Movie Player
- We will find all the modules in the PVR section (which stands for "Player/Viewer/Recorder")
- The names of modules are "funny" - this is an attempt to avoid naming collisions.
- Loading and manipulating the PLAYR
- Load a PLAYR, and see how it reacts to clicks. (Editing Mode)
- Lock the patcher and see how it now reacts to clicks. (Performance Mode)
- Drag a movie file from your computer onto the PLAYR and see how it operates.
- Run through the controls on the PLAYR, how to set them, and how to reset them.
- Add a VIEWR to get a window
- Unlock the patch and add a VIEWR. Connect the PLAYR to the VIEWR, lock the patch, and see how it operates.
- Click on the FULL SCREEN button to see what happens, and how to return to the patch.
- Save the patch, close the patch and reopen it. Discuss the state into which the patch return.
Adding Effects to the Movie Player
- Add a ROTATR between the PLAYR and VIEWR
- Unlock the patch and add a ROTATR module from the EFX menu section
- Click on the patchcord connecting the PLAYR and VIEWR, note the handles on each end.
- Use one of the handles to place the ROTATR between the previous two modules
- Create another patchcord to connect the rest.
- Start the PLAYR, move the controls of the ROTATR to see the activity.
- Note the ability to disable the effect by clicking on the image.
- Next, add a SLIDR after the ROTATR
- Add another effect - the SLIDR - after the ROTATR.
- Note the change to the image based on rotation and SLIDR settings.
- Describe the serial nature of the data flow.
Using Generators to Alter the Effects
- Creating an effects chain is fun, but it is even more fun if we have the system generate parameter changes for us!
- This is done using "Generator" modules.
- Add a TWIDDLR to the patch from the GEN folder.
- The output of the TWIDDLR can be used on non-video input to control (or modulate) the control values.
- You can tell which value will be controlled by hovering over the input - the modulation parameter will be displayed.
- Connect the TWIDDLR output to one of the parameters and see how it modifies the controls on-the-fly.
- There are several ways to temporarily turn off control of any of the Generator modules.
- First, you can "mute" the output by clicking on the dot near the module outlet.
- You can also "mute" any of the inputs by clicking on the dots near a connected input.
- You can also turn off the Generator by turning its "power switch" off.
- There are many different Generator modules available.
- Try the WANDR for creating random effects changes.
- Try the FLIPPR to swing between high and low values.
- Try the STEPPR to create a stepped, sequenced set of value changes.
Create a Webcam Viewer as an alternative test system
- A lot of time, it's more interesting to work with live video rather than movies.
- Replace the PLAYR with a GRABR (found in PVR) to get live video from your webcam.
- Connect it to the rest of your processing stream, then turn it on.
- Assuming that your system is set up correctly, you should see live video processed through your effects chain.
- Making the visuals more abstract means using some new effects.
- The SKETCHR turns your video into line drawing-like video.
- Smearing the SKETCHR output with the SLIDR, ROTATR and other effects provides complex, but abstract, results.
- We can make an even more interesting display by generating a lot of on/off changes to the effects chain.
- Use a FLIPPR on the SKETCHR, first, to turn the module on and off.
- Add more FLIPPR modules to other effects, and have them change at different rates to create a generative flashy output.
Create a Video Mixer
- If you've tried to have two effects or video streams running simultaneously, you will probably have found some problems (flashing).
- In order to get multiple video streams running, we need to "mix" them.
- The simplest mixer is the XFADR (found in EFX); it does a crossfade between any two video streams.
- Add an XFADR from the EFX menu, then connect both a GRABR and PLAYR. Load the PLAYR with a movie, turn on the GRABR, then mix the two streams to see it in action.
- You can create a generative mix by using a TWIDDLR to automate a fading system.
- If you need to mix more than two streams, you can add another XFADR and PLAYR to make a more complex system
- One of the downsides of the XFADR is that bringing up one video automatically reduces the other. What if you want to have more control?
- Try a 4MIXR for more complexity and less "black out"
- Each of the channels can be automated (WANDR or TWIDDLR again...) for generative results.
- If you have "masked" video, you can combine them with the 4MIXR as well.
Create an Effects Switcher
- Sometimes, we will want to actually make a system where we can alternate between effects streams.
- Create a new patch, and start with a single PLAYR and VIEWR
- Drop in a 2SWITCHR to create parallel effects paths.
- Now, for each path, create an effects stream that contains one or more EFX modules.
- Use the 2SWITCHR to choose which stream is active, or connect a WANDR to automate the switching.
- You can also use a FLIPR to make it easier to switch between the streams in the heat of a show!
- Note that you can have both of the effects streams go into a single VIEWR. Why doesn't this cause flashing?
- The 2SWITCHR only sends video frames down one of the effects paths.
- The effects that are not in the "active" path never receive video frames, so they never output anything.
- Since only one of the paths is generating frames, no collisions occur - therefore, there is no flashing!
Recording the Output
Based on a workshop given at the MediaLive Festival in 2013 by Darwin Grosse