Sources
Pulls the last known value of a source. Will return 0 if the source doesn’t exist.
Very useful command to use together with Motion commands. For example, you can pull the current X and Y position of a source and then use Motion: Source Position to smoothly move it across the screen.
Box Name | Type | Description |
---|---|---|
Scene | String | Scene name containing the source |
Source | String | Source name to pull the value |
Variable | String | Variable name to save the pulled value into |
Pull Value | Dropdown menu | Type of the value you wish to pull |
Pull Type | Description | Possible values |
---|---|---|
X/Y position | Returns X or Y position of the source | For example 500 |
X/Y scale | Returns scale of the source that affects its width (X) and height (Y) | 1 = 100% scale |
Default X/Y Size | Returns default size of the source | For example 800 |
Current X/Y Size | Returns current size of the source (applies scaling, crop etc.)) | For example 600 |
Crop Left/Top/Right/Bottom | Returns current crop values of the source | For example 50 |
Rotation | Returns the degree of rotation of the source | 0-360 |
Volume | Returns the volume percentage of the source | 0-1 |
Muted | Returns boolean value whether the source is muted or not | 0 for unmuted and 1 for muted |
Visible | Returns boolean value whether the source is visible or not | 0 for not visible and 1 for visible |
Changes the visibility of a source.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene Name | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source Name | String | Source name. Select from the menu or type manually. |
Visible | Checkbox | Checked = visible, Unchecked = not visible |
Changes the position of a source.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene Name | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source Name | String | Source name. Select from the menu or type manually. |
X | Number (optional) | X position to set the source to. Can leave blank to not modify it. |
Y | Number (optional) | Y position to set the source to. Can leave blank to not modify it. |
Changes the size of a source.
Use negative values for a horizontal (mirror) or vertical source flip.
The way the source resized is based on source’s positional alignment in OBS (source-Transform-Edit Transform).
The scale factor is relative to a percentage. For example, setting a source to a factor of 2, means it will scale up by 200%.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene Name | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source Name | String | Source name. Select from the menu or type manually. |
X Scale | Real (optional) | X Scaling to set the source to. Leave blank to not modify it. 1.0 is 100%. |
Y Scale | Real (optional) | Y Scaling to set the source at. Leave blank to not modify it. 1.0 is 100%. |
Changes the rotation of a source.
The center point of the rotation is based on the Positional Alignment option (source-Transform-Edit Transform).
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source | String | Source name. Select from the menu or type manually. |
Rotation | Number | Rotation angle to change the source to. 0 is normal, 180 is upside down, 360 is back normal |
Changes the volume of a source.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source | String | Source name. Select from the menu or type manually. |
Volume % | Number | Percentage to set the volume to, between 0 and 1. |
Changes the positional alignment of a source.\
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source | String | Source name. Select from the menu or type manually. |
Type | Dropdown | Type of the alignment. Select from the dropdown. |
Changes the crop settings of a source.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene | String | Scene name containing the source. Select from the menu or type manually. Leave blank for current active scene. |
Source | String | Source name. Select from the menu or type manually. |
Left | Number | Left crop settings. |
Top | Number | Top crop settings. |
Right | Number | Right crop settings. |
Bottom | Number | Bottom crop settings. |
Changes the text of a Text GDI+ source.
If you wish to change the text to a value saved in a variable, you need to wrap it: /$variable$/
.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source | String | Text GDI+ source name |
New Text | String | The new text |
Changes the text of a Freetype 2 text source.
If you wish to change the text to a value saved in a variable, you need to wrap it: /$variable$/
.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source | String | Text GDI+ source name |
New Text | String | The new text |
Changes settings of a source. Not to be confused with item transform settings.
Requires the same formatting that is used in the OBS JSON file.
Easy way to see your current source’s settings is to use a Fetch OBS Data command: {"request-type":"GetSourceSettings","sourceName":"YOURSOURCENAME","message-id":"6666"}
. Execute it and you will get back a JSON string of the source’s settings. Paste it into a document and extract the particular value you want to use.
Use JSON string validator if you want to make sure your formatting is correct.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source | String | Source name to change settings. |
Settings | JSON String | The settings to be included. Formatted as a JSON String. Must be enclosed in {} . |
JSON String | Description |
---|---|
{"url":"http://twitch.tv"} | Change URL of a browser source |
{"local_file":"E:/Stream/hello.html"} | Change local file path of a browser source |
{"file":"E:/Stream/image.png"} | Change local file path of an image source |
{"playlist": [{"value": "E:/videos/video1.mp4"},{"value": "E:/videos/video2.mkv"}]} | Change local file paths for your VLC source. Each {"value":"X"} represents one file. |
{"font": {"face": "Arial","flags": 8,"size": 48,"style": "Regular"}} | Change font settings of your GDI+ text source. Needs to include all values. |
Mutes the sound of a source.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source Name | String | Source name to be muted. Can be a scene name as well. |
Mute | Checkbox | Checked = mute, Unchecked = unmute |
Inverts the mute status of a specified source. If the source was muted, it will be now unmuted and if the source was unmuted, it will be now muted.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source Name | String | Source name to be muted or unmuted. Can be a scene name as well. |
Changes the monitoring type of an audio source.
Same option as in OBS-Audio Mixer-Cogwheel-Advanced Audio Properties.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source Name | String | Audio source name |
Monitor Type | dropdown | Type of monitoring to use |
Creates a new source and adds it to a scene.
You can pass a JSON string containing the new source’s settings as well.
The source will be added at the top of the list. To reorder it, use a Custom Packet command to send a JSON string containing the new order of all sources in your scene: {"request-type":"ReorderSceneItems","scene":"YOURSCENENAME","items":[{"name":"YOURSOURCENAME1"},{"name":"YOURSOURCENAME2"},{"name":"YOURSOURCENAME3"},{"name":"YOURSOURCENAME4"}(etc.)],"message-id":"6666"}
`.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source Name | String | Name of the new OBS source |
Source Type | String | Type of the new source. Use the dropdown menu. If you do not see the desired source type (for example for some plugin sources), you should look at the OBS JSON file to figure out the correct value. |
Scene | String | Name of the scene to add the source to. |
Settings | JSON | Source settings. Same format which is used in Source Change Settings command. |
Visible | Checkbox | Whether the source should be set visible upon creation. Checked = visible, Unchecked = not visible |
Deletes a source.
Warning: There’s no way to revert this action.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Scene | String | Name of the scene the source resides in |
Source | String | Name of the source to delete |
Creates a new source and adds it to a scene.
You can pass a JSON string containing the new source’s settings as well.
The source will be added at the top of the list. To reorder it, use a Custom Packet command to send a JSON string containing the new order of all sources in your scene: {"request-type":"ReorderSceneItems","scene":"YOURSCENENAME","items":[{"name":"YOURSOURCENAME1"},{"name":"YOURSOURCENAME2"},{"name":"YOURSOURCENAME3"},{"name":"YOURSOURCENAME4"}(etc.)],"message-id":"6666"}
`.
Box Name | Type | Description |
---|---|---|
OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
Source Name | String | Name of the new OBS source |
Source Type | String | Type of the new source. Use the dropdown menu. If you do not see the desired source type (for example for some plugin sources), you should look at the OBS JSON file to figure out the correct value. |
Scene | String | Name of the scene to add the source to. |
Settings | JSON | Source settings. Same format which is used in Source Change Settings command. |
Visible | Checkbox | Whether the source should be set visible upon creation. Checked = visible, Unchecked = not visible |