OSC Input: Control Resolume Like A Pro!
So, you want to control Resolume like a total boss? Well, you've come to the right place! Let's dive into the world of OSC (Open Sound Control) and how you can use it to manipulate Resolume like a seasoned VJ. Guys, trust me, once you get the hang of this, you'll be blowing minds with your visual performances!
Understanding OSC and Resolume
First things first, what exactly is OSC? OSC, or Open Sound Control, is a protocol for communication between computers, sound synthesizers, and other multimedia devices. Think of it as a universal language that lets different software and hardware talk to each other. Unlike MIDI, which is limited to specific musical parameters, OSC can transmit a wide range of data, making it super flexible for controlling various aspects of your software.
Resolume, being the awesome VJ software it is, supports OSC input. This means you can use OSC messages from other applications or devices to control parameters within Resolume, such as layer opacity, clip playback speed, effect parameters, and much, much more. The possibilities are truly endless, and that's what makes it so exciting!
Why use OSC with Resolume? Well, imagine controlling your entire visual set with a custom-built controller, a motion sensor, or even another piece of software that generates dynamic data. OSC allows you to create interactive and responsive visual performances that react to sound, movement, or any other input you can dream up. This opens up a whole new level of creative control, allowing you to create truly unique and captivating experiences for your audience. For example, imagine using a Kinect sensor to track the movements of a dancer on stage and using that data to control the parameters of your visuals in real-time. As the dancer moves, the visuals respond, creating a seamless and dynamic performance that blurs the line between the physical and digital worlds. This is just one example of the power of OSC and how it can be used to create truly innovative and engaging visual experiences.
Setting up OSC Input in Resolume
Okay, enough talk, let's get down to business! Setting up OSC input in Resolume is actually pretty straightforward. Here's a step-by-step guide to get you started:
- Enable OSC Input: First, you need to enable OSC input in Resolume's preferences. Go to Resolume's Preferences (usually found under the Resolume menu on macOS or the File menu on Windows) and navigate to the OSC tab. Make sure the "Enable OSC Input" checkbox is ticked. This tells Resolume to start listening for OSC messages.
 - Specify Input Port: You'll also need to specify the port that Resolume will listen on for OSC messages. The default port is usually 7000, but you can change it if you need to avoid conflicts with other applications. Make sure that the application or device sending the OSC messages is configured to send them to the same port.
 - OSC Input Mapping: Now comes the fun part: mapping OSC messages to parameters in Resolume! In Resolume, you can right-click on any parameter (e.g., layer opacity, clip speed, effect amount) and select "Edit OSC Mapping". This will open a window where you can specify the OSC address that should control that parameter.  The OSC address is a string that identifies the specific parameter you want to control. For example, an OSC address might look like 
/layer1/opacityto control the opacity of layer 1. When Resolume receives an OSC message with that address, it will automatically update the corresponding parameter. - Learn Mode: To make the mapping process even easier, Resolume has a "Learn Mode" that allows you to automatically map OSC messages to parameters simply by sending the message. To use Learn Mode, click the "Learn" button in the OSC Mapping window and then send the OSC message from your controller or application. Resolume will automatically detect the OSC address and map it to the selected parameter. This is a super convenient way to quickly map a large number of parameters without having to manually type in each OSC address.
 - Testing Your Setup: Once you've mapped your OSC messages, it's time to test your setup! Send OSC messages from your controller or application and make sure that the corresponding parameters in Resolume are responding as expected. If something isn't working, double-check your OSC addresses and make sure that the correct port is specified in both Resolume and your sending application. Also, be sure to check that the data type of the OSC message matches the data type of the parameter you're controlling. For example, if you're controlling a parameter that expects a float value between 0 and 1, make sure that your OSC message is sending a float value within that range.
 
Common OSC Addresses and Parameters
Navigating the world of OSC addresses can sometimes feel like learning a new language, but don't worry, it's not as daunting as it seems! Here are some common OSC addresses and parameters you might want to control in Resolume:
- /layer[n]/opacity: Controls the opacity of layer n. Replace 
[n]with the layer number (e.g.,/layer1/opacityfor layer 1). - /layer[n]/blendmode: Sets the blend mode of layer n. You'll need to send an integer value corresponding to the desired blend mode (e.g., 0 for Normal, 1 for Add, etc.). Check Resolume's documentation for a complete list of blend mode values.
 - /clip[n]/speed: Adjusts the playback speed of clip n. Again, replace 
[n]with the clip number. - /composition/masteropacity: Controls the master opacity of the entire composition.
 - /effect[n]/parameter[m]:  This is where things get really interesting! This address allows you to control parameters within effects. Replace 
[n]with the effect number and[m]with the parameter number within that effect. For example,/effect1/parameter2might control the second parameter of the first effect in your composition. You can find the effect and parameter numbers by right-clicking on the effect in Resolume and selecting "Show Info". 
Remember to consult Resolume's documentation for a complete list of available OSC addresses and parameters. The documentation is your best friend when it comes to understanding the full range of OSC control possibilities.
Example: Controlling Layer Opacity with TouchOSC
Let's walk through a quick example of how to control layer opacity in Resolume using TouchOSC, a popular OSC controller app for iOS and Android. This will give you a concrete example of how to put everything we've discussed into practice.
- Download and Install TouchOSC: If you haven't already, download and install TouchOSC on your tablet or smartphone. TouchOSC is a paid app, but it's well worth the investment for its versatility and ease of use.
 - Create a TouchOSC Layout: Open TouchOSC and create a new layout. Add a fader object to the layout. This fader will be used to control the layer opacity. Configure the fader to send OSC messages with the address 
/layer1/opacityand a value range of 0.0 to 1.0. You'll need to specify the target IP address and port of your computer running Resolume in TouchOSC's settings. Make sure the IP address is correct and that the port matches the OSC input port you configured in Resolume's preferences. - Configure Resolume: In Resolume, enable OSC input and set the input port to the same port you specified in TouchOSC. Right-click on the opacity slider for layer 1 and select "Edit OSC Mapping". Click the "Learn" button and then move the fader in TouchOSC. Resolume should automatically detect the OSC address 
/layer1/opacityand map it to the layer's opacity. - Test It Out: Now, move the fader in TouchOSC and watch as the opacity of layer 1 in Resolume changes in real-time! If it's not working, double-check your OSC settings in both TouchOSC and Resolume and make sure that the IP addresses and ports are correct. Also, make sure that your tablet or smartphone is connected to the same network as your computer running Resolume.
 
This is just a simple example, but it demonstrates the basic principles of using OSC to control Resolume. You can use TouchOSC to create much more complex layouts with multiple faders, buttons, and other controls to manipulate a wide range of parameters in Resolume. Get creative and experiment with different layouts and mappings to find what works best for your workflow.
Advanced OSC Techniques
Once you've mastered the basics of OSC input, you can start exploring more advanced techniques to take your Resolume control to the next level. Here are a few ideas to get you started:
- Using OSC Query: OSC Query is a protocol that allows you to dynamically discover the available OSC addresses and parameters in Resolume. This can be incredibly useful for creating custom control interfaces that automatically adapt to the specific setup of your Resolume composition. Instead of manually mapping each parameter, you can use OSC Query to retrieve a list of all available parameters and then create controls for them dynamically. This makes it much easier to create flexible and adaptable control surfaces that can be used with different Resolume compositions.
 - Combining OSC with Scripting: Resolume's scripting capabilities (using JavaScript or GLSL) can be combined with OSC to create even more complex and dynamic control scenarios. For example, you could write a script that automatically adjusts the parameters of an effect based on the incoming OSC data. This allows you to create custom behaviors and interactions that would be impossible to achieve with OSC alone. Imagine using a script to analyze the frequency spectrum of an audio input and then using that data to control the parameters of a visual effect in real-time. This would create a dynamic and responsive visual performance that is tightly coupled to the audio.
 - Creating Custom OSC Controllers: If you're feeling adventurous, you can even build your own custom OSC controllers using platforms like Arduino or Raspberry Pi. This allows you to create highly specialized controllers that are tailored to your specific needs. For example, you could build a controller with custom knobs, buttons, and sensors that are specifically designed to control the parameters of your favorite effects in Resolume. The possibilities are truly endless, and building your own controller can be a fun and rewarding project.
 
Conclusion
So there you have it, guys! A comprehensive guide to using OSC input with Resolume. By mastering OSC, you can unlock a whole new level of creative control and create truly dynamic and interactive visual performances. Don't be afraid to experiment and explore the endless possibilities that OSC offers. Get out there and start blowing minds with your awesome visuals!
Remember, the key to success with OSC is to experiment and have fun! Don't be afraid to try new things and see what works. The more you play around with OSC, the more comfortable you'll become with it, and the more creative you'll be able to get with your visual performances. So go forth and conquer the world of OSC!