Skip to content

Releases: jshea2/OSC-for-OBS

OSC for OBS v3.1.3

23 Sep 02:39
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-11-21 at 4 17 23 PM

v3.1.3 Bug Fix

  • TouchOSC Feedback and OBS OSC Out have been fixed

v3.1.2 Bug Fix

  • Source Visibility is now fixed and no longer enables last source on trigger

v3.1.1 Bug Fix

  • /transition command without duration issue is now resolved.

v3.1 Bug Fixes / New Features:

  • Fixed position, scale, and rotation command
  • Added "OSC Tester" (File > OSC Tester)
    • This allows you to test osc commands by looping back into the app. This helps for not needing an external OSC app

v3.0 New Features:

Now compatible with OBS(v28) and obs-websocket(v5)

- Note: OSC for OBS v3.0 will not work with obs-websocket v4.9 and below.

All previous OSC commands syntax should work the same.

Trigger Hotkey

-/[modifier]/[key]/hotkey

  • This triggers a hotkey from your settings. Not keyboard shortcuts.
  • modifier can be shift control and/or alt (order doesn't matter). key can be lowercase or uppercase.
  • ex. /controlshift/f/hotkey

Get Source Settings

/getSourceSettings

  • Logs source properties and settings
    • Mainly used for development and debugging

Media Cursor

/[source_name]/mediaCursor [int]

  • Sets the cursor position of specified "Media Source"

OSC for OBS v2.7.1

22 Nov 01:01
ae42967
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-11-21 at 4 17 23 PM

v2.7.2 Bug Fix:

  • (Mac Only) Fixes Error "Cannot find 'node-key-sender' module" when opening application

v2.7.1 New Features:

Open Applications, Files, and/or Websites with file or url path via OSC

  • /openExternal [string]
    • ex. /openExternal "https://google.com"
    • opens google in default browser
    • ex. Mac /openExternal "file:/System/Applications/Stocks.app"
    • ex. PC /openExternal "file://c:/windows/system32/calc.exe"
    • opens 'Calculator' app
    • ex. Mac /openExternal "file:/Users/joeshea/Documents/texttest1.png"
    • opens 'texttest1.png' in default viewer (like Preview)

Simulate Keypress on Front/Active Window via OSC

Java Run Time is required for this feature

  • /keypress [string]
    • this command simulates a keypress on front window. Use this syntax for keys
    • ex. /keypress "space"
    • this simulates a space keypress on the active window
    • ex. `/keypress "h,i"
    • this simulates a h and then an i key press to active window
    • ex. keypress "control,s"
    • ex. this simulates a keycombo of Control + S to active window
  • Note: This feature can send multiple keypresses by using a comma ,, but using combinations of shift, control, and alt have been buggy. Please refer to this repository for issues

v2.7 New Features:

OSC for OBS now automatically reconnects if OBS closes and reopens!

  • New colored indicator UI when connected and disconnected from OBS

VirtualCam

  • /startVirtualCam
  • /stopVirtualCam
  • /toggleVirtualCam
  • /setVirtualCam [0 or 1]

Streaming

  • /setStreaming [0 or 1]

Recording

  • /setRecording [0 or 1]

Studio Mode

  • /setStudioMode [0 or 1]

Set Recording File Name

  • /recFileName [string]

Set Active Scene Item Visibility by Index

  • /[index(int)]/activeSceneItemVisibility [0 or 1]

Set Specific Scene Item Visibility by Index

/[scene name]/[index]/activeSceneItemVisibility [0 or 1]

Get Source Text FreeType2 String Repeatedly

  • /[text source]/getTextFreetype [1]
    • Returns to OSC client:
      • /[text source]text [string]

Get Source Text GDI String Repeatedly

  • /[text source]/getTextGDI [1]
    • Returns to OSC client:
      - /[text source]text [string]
  • NOTE: Disabling the loop is not yet implemented. Quit and reopen app to stop
  • The loop is every 500ms (half second)

NDI and Other Outputs

List Outputs Names

  • /listOutputs
    • Logs a list of all outputs

Start Output

  • /startOutput [name]
    • Ex. /startOutput “NDI Main Output”
      • This will enable this output

Stop Output

  • /stopOutput [name]
    • Ex. /stopOutput “NDI Main Output”
      • This will disable this output

Take Screenshot

  • /takeScreenshot
    • This saves a .png of your current active scene and saves it to your Documents folder

Other Changes

  • Stream status for recording an OSC message is now:
    • /recording [ 0 or 1]

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OSC for OBS v2.6.2

02 May 23:12
c34501c
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-04-13 at 5 32 04 PM

v2.6.2 Bug Fix/New Feature

  • Fixed bundled error if "undefinded"
  • Added /activeScene [scene-name]
    • This OSC response is sent when the transition is initiated
  • Added `/activeSceneCompleted [scene-name]
    • This OSC response is sent when the transition is completed

v2.6.1 Update:

  • Bundled OSC is now Supported! Thanks to MylesBorins from node-osc!

  • Updated TouchOSC and QLab files

  • Added /sendCC command

    • Send the text as embedded CEA-608 caption data
  • TouchOSC Feedback OSC:

    • When Streaming
      • Returns /streaming 1 when stream starts and /streaming 0 when ends
    • When Transition is Triggered
      • Returns /transitionType [type] and /transitionDuration [int]
    • Source Visibility Feedback
      • Returns /[scene_name]/[source_name]/visible 1 when on and /[scene_name]/[source_name]/visible 0 when off
    • Media Feedback
      • When a media is Played in OBS the following OSC is sent /[source]/mediaPlay 1, /[source]/mediaPause 0, and /[source]/mediaStop 0
      • When a media is Paused in OBS the following OSC is sent /[source]/mediaPause 1, /[source]/mediaPlay 0, and /[source]/mediaStop 0
      • When a media is Stopped in OBS the following OSC is sent /[source]/mediaStop 1, /[source]/mediaPause 0, and /[source]/mediaPlay 0

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OSC for OBS v2.5.1

20 Apr 05:19
80b3297
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-04-13 at 5 32 04 PM

v2.5.1 Bug Fix:

  • Fixed /scene feedback sometimes highlighting the wrong button when pressing before transition ends for TouchOSC.

v2.5 Update:

  • Updated TouchOSC and QLab File

  • Added /rename command

    • Allows you to rename a Scene or Source
  • TouchOSC Feedback OSC:

    • When Streaming/Recording:
      • /fps
        • Returns frames per second [int] fps
      • /streaming
        • Returns “•LIVE” if stream is active
      • /recording
        • Returns “•REC” when recording
      • /streamTime
        • Returns elapsed stream time HH:MM:SS
      • /cpuUsage
        • Returns cpu usage [int] cpu usage
      • /freeDiskSpace
        • Returns free disk space [int] free disk space
      • /averageFrameRate
        • Returns average frame rate [int] avg frame rate
      • /memoryUsage
        • Returns memory usage [int] memory usage
      • /kbpsEncoder
        • Returns encoder data [int] kbps
    • Dynamic Fader Volume
      • For /[source]/volume command
    • Dynamic Muting and UnMuting Toggle
      • For /[source]/audioToggle command

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OSC for OBS v2.4

14 Apr 01:01
7e84c5b
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-04-13 at 5 32 04 PM

v2.4 Update:

  • TouchOSC Feedback
    • This allows active OBS scene to send OSC feedback to TouchOSC for highlighting buttons depending on the scene
  • Trigger Scenes easier with TouchOSC
    • using /scene/[scene_name] and value 0 to 1 will now work
  • Toggle Audio for muting and unmuting
    • using /[source_name]/audioToggle [0 or 1] will toggle muting

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OSC for OBS v2.3

23 Mar 22:26
f74b4a8
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-02-27 at 7 00 03 PM

v2.3 Update:

  • Set Scene Collection
  • Set Profile
  • TouchOSC
    • Rotate Selected Scene Item
    • Fit to Screen for Selected Scene Item
    • Duplicate Current Scene of Active Scene
  • Updated TouchOSC File

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OSC for OBS v2.2

28 Feb 03:59
5e0df5e
Compare
Choose a tag to compare

Setup and OSC Commands

Screen Shot 2021-02-27 at 7 00 03 PM

2.2 Update:

  • Rebranded to "OSC for OBS"

2.1 Update:

  • Application reopens with last used configuration inputs
  • Added "File > Automatically Connect on Startup" if checked on next startup will connect when opening
  • Added "File > Revert to Original Config" to reset all inputs to original
  • Added new Text commands
    • Content
    • Font
    • Size
  • Added new commands for boolean arguments (0, "0", "off", "false")
  • Added Set Preview Scene
  • Added Trigger Transition to Program

Bug Fixes:

  • Fixed OSC output that adds "_" to OBS Scene names
  • Fixes issue where color correction values (gamma, contrast, brightness, saturation, and hue shift) were only outputting integers instead of float values.

Support The Project ❤️

If OSC for OBS helped you, consider helping the project by making a one-time donation via PayPal

Join the Discord Community

chat on Discord

OBSosc 2.1

26 Feb 01:59
0e57170
Compare
Choose a tag to compare

Screen Shot 2021-02-25 at 5 34 27 PM

New features since 2.1:

  • Application reopens with last used configuration inputs
  • Added "File > Automatically Connect on Startup" if checked on next startup will connect when opening
  • Added "File > Revert to Original Config" to reset all inputs to original
  • Added new Text commands
    • Content
    • Font
    • Size
  • Added new commands for boolean arguments (0, "0", "off", "false")
  • Added Set Preview Scene
  • Added Trigger Transition to Program

Bug Fixes:

  • Fixed OSC output that adds "_" to OBS Scene names

2.1.1 Hot Fix

  • Fixes issue where color correction values (gamma, contrast, brightness, saturation, and hue shift) were only outputting integers instead of float values.

Setup and OSC Commands

Support The Project ❤️

If OBSosc helped you, consider helping the project by making a one time donation via PayPal

Join the Discord Community

chat on Discord

OBSosc 2.0

14 Feb 10:38
3ddcc41
Compare
Choose a tag to compare

Screen Shot 2021-02-13 at 4 50 31 PM

Setup and OSC Commands

Support The Project ❤️

If OBSosc helped you, consider helping the project by making a one time donation via PayPal

Join the Discord Community

chat on Discord

Node-OBSosc App

27 Jan 11:22
bfb11c2
Compare
Choose a tag to compare

Node-OBSoscsmall

Using Node-OBSosc

Requires: obs-websocket

Screen Shot 2021-01-26 at 7 59 05 AM

  • Configure the input fields
  • Successfully "Connect"
  • The window will open a "DevTools" window
    • Make sure it's on the "Console" tab, not "Elements"
  • In the "Console" tab it will log IP and Port info, the number of available scenes, and a list of all scenes with numbers (This is what you can use as an argument in your /scene OSC message)

Application OSC -> OBS

This can be used for any application that transmits and/or receives OSC.
(This was designed with Qlab in mind, so the examples show file of all the OSC commands is available below: "Qlab OSC Examples.qlab4" Note: Sending OSC Commands requires a paid version of Qlab)

OSC Command List:

- Triggering Scenes: -

/scene [index number] this message will activate a scene with the index associated from the logged list.
(Ex. "/scene 1" will activate the first scene in OBS, also floats will be rounded down (Ex. /scene 1.9 === /scene 1))

/scene/[scene_name] this message allows you to activate a scene by name in the OSC string. (Ex. "/scene/Wide" will activate a scene named "Wide" in OBS. NOTE: If a scene name contains a SPACE, replace with "_", so if OBS has a scene "Webcam 1" make OSC message "/scene/Webcam_1")

/scene [scene name] this message allows you to activate a scene by name in the OSC argument. (Ex. "/scene Wide" will activate a scene named "Wide" in OBS.) NOTE: SPACES will work ok for this format, so "/scene Webcam 1" is valid syntax

/go this message will go to the next scene in the list, if this is triggered on the last scene it will go to the first scene

/back this message will go to the previous scene in the list, if this is triggered on the first scene it will go to the last scene

- Change Transition Type and Duration: -

/transition [name] [duration] this message sets the desired transition and duration(in milliseconds).
(Ex. "/transition Cut" will change the current Scene Transition to "Cut". "/transition Fade 500" will set the current Scene Transition to "Fade" with a "500" millisecond duration. If you do not set a duration in the 2nd argument it will keep the current duration and log it in node.

- Change Source Visibility On/Off: -

/[scene_name]/[source_name]/visible [0 or 1] this message will turn on or off the source's visibility. (Ex. "/Webcam_1/Audio_Input_Capture/visible 0" will turn OFF "Audio Input Capture" source in OBS from scene "Webcam 1". Where as "/Webcam_1/Text_1/visible 1" will turn it ON). NOTE: If a scene name or source name contains a SPACE, replace with "_", so if OBS has a scene "Webcam 1" and a source name of "Text 1" make OSC message the example from above.)

- Change Filter Visibility On/Off: -

/[scene_name]/[source_name]/filterVisibility [0 or 1] this message will turn on or off the source's filter visibility. (Ex. "/Video_Input/Color_Correction/filterVisibiltity 0" will turn OFF "Color Correction" filter in OBS from source "Video Input". Where as "/Video_Input/Color_Correction/filterVisibility 1" will turn it ON). NOTE: If a filter name or source name contains a SPACE, replace with "_", so if OBS has a filter "Color Correction" and a source name of "Video Input" make OSC message the example from above.)

- Change Opacity: -

/[source_name]/[color_correction_filter_name]/opacity [0 thru 1] this message allows you to adjust the Opacity of a source via the "Color Correction" filter in OBS of the current scene. (Ex. "/Text_1/Color_Correction 0.5" will make "Text 1" half transparent. NOTE: If a source name or filter name contains a SPACE, replace with "_", so if OBS has a source "Text 1" and filter "Color Correction" make OSC message the example from above)

- Translate Source's Position: -

/[scene_name]/[source_name]/position [x] [y] this allows you to change the sources position by x and y values. This also changes the alignment to center the bounding box to the x and y values. (Ex. "/Webcam_1/Text_1/position 0 0" this changes the source to center of the screen. See "Qlab OSC Examples" file for how to automate positions. NOTE: This is only tested for a "Canvas Size" of 1920x1080 in OBS. Also, If a scene name or source name contains a SPACE, replace with "_", so if OBS has a scene "Webcam 1" and a source name of "Text 1" make OSC message the example from above.)

- Translate Source's Scale: -

/[scene_name]/[source_name]/scale [float] this allows you to change the source's scale. "0" is nothing, "1" is original full size. Negative numbers will invert the source. Numbers larger than "1" will be larger than original size. (Ex. /Webcam_1/Text_1/scale 2 this will make the size of the "Text 1" source twice as large. See "Qlab OSC Examples" file for how to automate scale. Also, If a scene name or source name contains a SPACE, replace with "_", so if OBS has a scene "Webcam 1" and a source name of "Text 1" make OSC message the example from above.)

- Translate Source's Rotation: -

/[scene_name]/[source_name]/rotate [float] this allows you to change the source's scale. "0" is nothing, "360" is full 360 rotation clockwise. Negative numbers will rotate counterclockwise. Numbers larger than "360" will be more roations. (Ex. /Webcam_1/Text_1/rotate 90 this will make the rotation of the "Text 1" source 90º clockwise. See "Qlab OSC Examples" file for how to automate rotation. Also, If a scene name or source name contains a SPACE, replace with "_", so if OBS has a scene "Webcam 1" and a source name of "Text 1" make OSC message the example from above.)

- Streaming and Recording: -

/startRecording this message will start recording in OBS

/stopRecording this message will stop recording in OBS

/toggleRecording this message will toggle the start/stop recording button in OBS

/startStreaming this message will start streaming in OBS

/stopStreaming this message will stop streaming in OBS

/toggleStreaming this message will toggle the start/stop streaming button in OBS

/pauseRecording this message will pause the recording in OBS

/resumeRecording this message will resume recording in OBS

- Studio Mode: -

/enableStudioMode this message enables Studio Mode in OBS (WARNING: This Command Has Caused Some Computers to Crash OBS)

/disableStudioMode this message disables Studio Mode in OBS

/toggleStudioMode this message toggles Studio Mode on/off in OBS (WARNING: This Command Has Caused Some Computers to Crash OBS)

OBS -> Application:

This allows OBS to send OSC to other applications when a scene is activated.

To use/enable this function, change the toggle button to ON
Configure the prefix and suffix for how you want your OSC application to receive an OSC string from OBS

(Ex. In OBS when "Wide" scene is activated, Qlab recieves an OSC message "/cue/Wide/start")

Support The Project

If Node-OBSosc helped you, consider helping the project by making a donation via PayPal

Join the Discord Community

chat on Discord