OSC sent Plugin
Posted: Thu Jun 05, 2025 14:59
For whoever wants to try or thinks it's handy... Here you go.
** Update 1.1: added a tolerance slider**
It used to look for equal values between the clip position and the seconds you set, now it uses a within, and you can set the tolerance. This means you can know say it will send a OSC signal between one second and the tolerance (by default 0.1) so that would mean 1.1 second.
What This Plugin Does
This plugin lets you automatically send control messages to other software or devices at specific times during your Resolume performance.
Note: it won't send OSC internally inside Resolume
Setup Instructions
1. Add the Plugin to Your Clip
Best Practice: Drop this plugin directly onto a video clip as a clip effect
This ensures the OSC messages are perfectly synced with your video content
The plugin will follow your clip's playback after you set it up
2. Set Your Clip Duration
First, set your Clip Duration to match your video (in the example: 25 seconds)
This tells the plugin how long your clip is
3. Connect Clip Position (Important!)
Connect the Clip Position parameter to Resolume's clip position automation
This is what makes the timing work correctly
The plugin reads the clip's current playback position to know when to send messages
4. Configure Your OSC Settings
Fill in these three sections:
OSC addresses: Where to send messages
Example: /sentOSC/1 (sends to address "sentOSC/1")
You can add multiple addresses for different devices or functions
OSC Values: What information to send
Example: 1, 0 (send "1" then "0")
These could be on/off commands, brightness levels, etc.
Sent OSC at Sec.: When to send (in seconds)
Example: 0, 2 (send immediately, then at 2 seconds)
Time is relative to when the clip starts playing
How List Cycling Works
Your three lists don't need to be the same length. The plugin cycles through them intelligently:
Current Example Settings:
Address: /sentOSC/1 (1 item)
Values: 1, 0 (2 items)
Times: 0, 2 (2 items)
What Happens:
At 0 seconds: Send value 1 to /sentOSC/1
At 2 seconds: Send value 0 to /sentOSC/1
More Complex Example:
Addresses: /light1, /light2, /light3, /light4 (4 items)
Values: 0, 0, 0, 0, 1, 2, 3, 4 (8 items)
Times: 0, 0, 0, 0, 1, 2, 3, 4 (8 items)
Result:
0s: /light1 = 0
0s: /light2 = 0
0s: /light3 = 0
0s: /light4 = 0
1s: /light1 = 1
2s: /light2 = 2
3s: /light3 = 3
4s: /light4 = 4
Technical Notes
Data Types
Default: The plugin sends all values as float (decimal numbers)
Customization: If you need to send integers (whole numbers) or strings (text), you can modify the patch:
Open the Wire patch file
Locate the OSC output node
Change the data type setting from "float" to "int" or "string" as needed
When to use different types:
Float: For smooth controls like volume (0.5), brightness (0.75)
Integer: For simple on/off (1, 0), discrete steps (1, 2, 3, 4)
String: For text commands ("play", "stop", "reset")
Why Use This Plugin?
Instead of manually sending control messages during your live performance (which is stressful and error-prone), you can pre-program everything. Just:
Set up your video clips in Resolume
Add this plugin to each clip that needs OSC control
Configure your timing and messages
Hit play - everything syncs automatically!
Your lights, sound effects, and other equipment will sync perfectly with your visuals, leaving you free to focus on your creative performance.
The receiver plugin is just an extra to show what happens.
** Update 1.1: added a tolerance slider**
It used to look for equal values between the clip position and the seconds you set, now it uses a within, and you can set the tolerance. This means you can know say it will send a OSC signal between one second and the tolerance (by default 0.1) so that would mean 1.1 second.
What This Plugin Does
This plugin lets you automatically send control messages to other software or devices at specific times during your Resolume performance.
Note: it won't send OSC internally inside Resolume
Setup Instructions
1. Add the Plugin to Your Clip
Best Practice: Drop this plugin directly onto a video clip as a clip effect
This ensures the OSC messages are perfectly synced with your video content
The plugin will follow your clip's playback after you set it up
2. Set Your Clip Duration
First, set your Clip Duration to match your video (in the example: 25 seconds)
This tells the plugin how long your clip is
3. Connect Clip Position (Important!)
Connect the Clip Position parameter to Resolume's clip position automation
This is what makes the timing work correctly
The plugin reads the clip's current playback position to know when to send messages
4. Configure Your OSC Settings
Fill in these three sections:
OSC addresses: Where to send messages
Example: /sentOSC/1 (sends to address "sentOSC/1")
You can add multiple addresses for different devices or functions
OSC Values: What information to send
Example: 1, 0 (send "1" then "0")
These could be on/off commands, brightness levels, etc.
Sent OSC at Sec.: When to send (in seconds)
Example: 0, 2 (send immediately, then at 2 seconds)
Time is relative to when the clip starts playing
How List Cycling Works
Your three lists don't need to be the same length. The plugin cycles through them intelligently:
Current Example Settings:
Address: /sentOSC/1 (1 item)
Values: 1, 0 (2 items)
Times: 0, 2 (2 items)
What Happens:
At 0 seconds: Send value 1 to /sentOSC/1
At 2 seconds: Send value 0 to /sentOSC/1
More Complex Example:
Addresses: /light1, /light2, /light3, /light4 (4 items)
Values: 0, 0, 0, 0, 1, 2, 3, 4 (8 items)
Times: 0, 0, 0, 0, 1, 2, 3, 4 (8 items)
Result:
0s: /light1 = 0
0s: /light2 = 0
0s: /light3 = 0
0s: /light4 = 0
1s: /light1 = 1
2s: /light2 = 2
3s: /light3 = 3
4s: /light4 = 4
Technical Notes
Data Types
Default: The plugin sends all values as float (decimal numbers)
Customization: If you need to send integers (whole numbers) or strings (text), you can modify the patch:
Open the Wire patch file
Locate the OSC output node
Change the data type setting from "float" to "int" or "string" as needed
When to use different types:
Float: For smooth controls like volume (0.5), brightness (0.75)
Integer: For simple on/off (1, 0), discrete steps (1, 2, 3, 4)
String: For text commands ("play", "stop", "reset")
Why Use This Plugin?
Instead of manually sending control messages during your live performance (which is stressful and error-prone), you can pre-program everything. Just:
Set up your video clips in Resolume
Add this plugin to each clip that needs OSC control
Configure your timing and messages
Hit play - everything syncs automatically!
Your lights, sound effects, and other equipment will sync perfectly with your visuals, leaving you free to focus on your creative performance.
The receiver plugin is just an extra to show what happens.