jshea2 / osc-for-obs Goto Github PK
View Code? Open in Web Editor NEWControl and listen to OBS via OSC
Control and listen to OBS via OSC
Hey Joe, love how reliable this program is. I found it recently and have been using it but I updated my OBS to 28 and it default comes with websockets 5, whenever I open OSC-for-OBS it doesn't seem to connect properly but works again when I downgrade to 27. Any chance I get this to working with the new obs/websocket.
Thanks so much.
Hi,
I'm using Qlab and OBS.
When I press space in Qlab to send a information (close a source), it works 1 out 3 time.
The "OSC for OBS" window says it's a invalid syntax which is false. It's written correcty.
I don't change anything, I press space again and maybe obs will work
It's the app or the qlab
(I use the last version of obs (28.0.3 and osc to obs 3.1)
Right now, the osc output puts the scene name in the middle of the osc address. Is it possible to have it deliver the cue name as the osc data instead? That way, I could use Isadora to evaluate the osc data and do something based on the cue name.
Or any chance of getting an osc output source for obs?
Hi, I don't know if it should be here or is actually an obs websockets issue, but I used the following code (hacked some of yours) because I want to use the streamFX plugin through OSC. If it works I can give you my code if you want it when finished.
I am not familiar much with javascript per se but thought I knew enough about programming languages to do this... Anyway. In the following piece of code, changing the x position works, but y and z don't. As I want to make the code versatile I'd like to use variables and not have to type out every single string. Do you have any idea why this wouldn't work? I get no error message. You see a few variations, but any variation gives the same result.
//Triggers the Source Camera position (via Filter > 3D_Transform)
else if ((msg[0].includes('macbookCamSkew')) && (msg[0].includes('Position'))){
console.log(`OSC IN: ${msg[0]} ${msg[1]} ${msg[2]} ${msg[3]}`)
var msgArray = msg[0].split("/")
msgArray.shift()
var x = msg[1]
var y = msg[2]
var z = msg[3]
var filterType = 'Filter.Transform.'
var actionX = filterType.concat(msgArray[3], '.X')
var actionY = 'Filter.Transform.' + msgArray[3] + '.Y'
var actionZ = filterType.concat(msgArray[3], '.Z')
console.log(`filterprint: ${actionY}`)
obs.send("SetSourceFilterSettings", {
'sourceName': msgArray[0].split('_').join(' '),
'filterName': msgArray[1].split('_').join(' '),
'filterSettings': { 'Filter.Transform.Position.X' : x, actionY : y, actionZ : z }
}).catch(() => {
console.log("ERROR: Transform Command Syntax is Incorrect. Refer to Node OBSosc Github for Reference")
})
}
Please update the README.md to always point to the latest release : https://github.com/jshea2/OSC-for-OBS/releases
Right now, clicking the «Download OSC for OBS (v2.5) Now» link in the README.md does not lead to an actual download (only an empty release).
Any chance to have an OSC command set to control the OBS T-BAR? The latest OBS doc mentions the following:
Set the Transition Bar position (in Studio Mode). If you need to perform multiple successive T-Bar moves (e.g. : in an animation, or in response to a user moving a T-Bar control in your User Interface), set release to false and execute Release Transition Bar command later once the animation/interaction is over.
Name | Type | Description
Position | Float | Value must be between 0.0 and 1.0.
Release | Boolean | True or False
Hi! I'm connecting OBS and QLab with OSC. In older versions, OSC messages were sent at the moment the OBS scene was changed, whatever the type of transition with the next scene was. Right now (updated version), the program send the OSC order when the transition is finished (for example, if there is a fade of 3 seconds, it sends the message after that 3 seconds, when in older versions sent it right away).
Is it possible to change that somehow???
Thanks in advance!
Tried a bunch of combinations of messages in TOSC, cant get the Transition Override Duration to respond in OBS. Anyone have success with this address, if so how is it structured? Transition Override Type functions properly, while Duration seems untouchable. TIA
Win 10 - TOSC - v3.1.3
-Traetech
Has there been any update to the manner in which visibility is triggered? My OSC trigger seems to be passing the correct command and it works fine for switching scenes. However visibility doesn't work.
Any ideas?
Also position doesn't seem to make change with X Y parameters but just switches the source to center positioning.
Hello @jshea2 and any other expert on this great software.
I've recently updated my system. Right now my software is:
It seams like the connection between OSC and OBS works, as I can see all my OBS scenes when I "Connect". Also, I have checked all the ports and configurations of all the programs, and everything looks good to me. I have changed the websocket port in OBS from the new 4455, to the 4444 from before, and I have deactivated the password.
The communication from QLab to OBS works flawlessly (go to a specific scene, or next scene for example), but the communication from OBS to QLab doesn't work at all (with my programming, some of the scenes in OBS trigger some cues in QLab). Before updating, I didn't experience any problems.
Is there anything that I'm missing? Something about websocket 5.0 maybe? I had installed websocket 4.9.0 and I haven't uninstalled it. With my old system I didn't have any issues, but I was forced to update everything...
Can you help me, please? I'm desperate, as this is a computer for a theater show and I need this to work asap.
Thanks in advance!
As stated in the title the output is not working on scene's with spaces.
In the input field you have to translate spaces to underscore but in the output this doesn't happen from itself.
i don't mind using underscores in spaces in my OBS scene's but it would be nice to not have to think about this.
So there are great commands to trigger scenes and go to the next or 1 scene back and with what kind of transition and duration,
but there isn't really a OSC message to transit scenes from preview to program where studio mode is made for.
You probably wouldn't need it with Qlab very often but with touchOSC or OSCulator it's very nice.
"/gotoprogram" ? :D
Qlab to obs
Set Recording File Name
*/recFileName [string]
sets the name of the file for when you record
/recFileName "xx"
Dont happen nothing
Hi,
on Win10 OSC-for-OBS 2.7.1 doesn't load and connect automatically. It always starts with no settings. But when I go back to default values via file-menu then my default settings are correctly loaded. What am I doing wrong?
Additional Information: first I packed everything under C:\Programme (or "Program Files" in english) and got errors that OSC-for-OBS is not allowed to write the default-file. I then started the software as administrator, didn't get the error anymore but still no settings on startup. I then moved OSC-for-OBS to D:\ but still no settings on startup.
Thanks in advance
Marcus
It would be really useful if there was a media command to toggle play (/togglePlay) like /toggleRecord.
I am experiencing error issues when quitting OSC to OBS on Windows 10. There aren't any installation instructors for Windows, but here is how I have installed:
-- download to the downloads folder
-- drag the OSC-for-OBS-win32--ia32 folder to C: Program Files
-- launch OSC-for-OBS.exe
Everything seems to be working, however:
when I quit OSC to OBS I get this error message:
A Javascript error occurred in the main process
Uncaught exception:
Error: EPERM operation not permitted, open 'C\Program Files\OSC-for-OBS-win32--ia32\resources\app\src\default.txt
When I relaunch the applications all the settings are lost though I have saved a configuration file.
I suspect that the Program Files folder is not the right place for the application, but I have no idea where else to put it!?
Thanks for your help @jshea2
Randall
i'm getting a Javascript error as soon as i "connect" with obs:
A JavaScript error occurred in the main process:
Uncaught Exception:
Error: can't decode incoming message: invalid type tag in incoming OSC message, must start with comma
at Socket. (/Applications/OBSosc.app/Contents/Resources/app/node_modules/node-osc/dist/lib/Server.js:29:23)
at Socket.emit (events.js:315:20)
at UDP.onMessage [as onmessage] (dgram.js:910:8)
any idea if i did something wrong?
It is a great great super great app if it works, the osc syntax looks amazing to work with but i can't get past this error.
I'm even getting this error when no other OSC apps or OBS is running
I'm using touchosc and I would be very pleased if it were possible to send stream status to OSC output. Eg. using toggle stream sending 0 or 1 or sending /startStreaming when the stream is on and /stopStreaming when it is off.
Thank you for your AWESOME work!!!! 👍 😄
Hi,
since this is an electron app, would it be possible to provide a Linux binary ?
Thanks!
Hey, I love your project. I've found it very useful and hacked it about to do various other things too. I came to the repo to fork it so I can give some of my modifications back to the community but all the code has been purged from the repo, how come?
It's a shame as this is a really great project!
Hello,
How can I find the Websocket IP, port and password ?
Thanks
I have been testing source visibility and found that switching one source on and off works fine, with 0/1 or on/off. However when you try to switch a second source on, it gets very buggy, in which the command for source two turns the first source on and off. By manually turning everything off, it starts working agin until you try and control a second source.
Any thoughts?
I have tried the following OSC calls from my TouchOSC surface to activate the scene 'CAMERA':
/scene CAMERA
/scene/CAMERA
/previewScene CAMERA
/previewScene/CAMERA
Further I tried to use different scene names with spaces in them to check if that works.
All of them did not work to activate my scene CAMERA at OBS.
Other calls like /go /back /toggleStudioMode do work as expected, so my setup in general is configured well.
Probably its an issue with the value range send alongside the OSC string.
However I haven't found any documentation regading those numbers and what is expected here to make those call work as expected.
Hi,
Tried to make transition duration time work but without success
/Fade/transition 5000
Does not make a error, it can change the transition type but not transition time.
hacking in a function for SetCurrentSceneTransitionDuration in index.js solved my issue and could be useful for changing only the transition time
//Set SetCurrentSceneTransitionDuration
else if(msg[0].includes('/SetCurrentSceneTransitionDuration')){
logEverywhere("SetCurrentSceneTransitionDuration")
console.log(`OSC IN: ${msg}`)
logEverywhere(`OSC IN: ${msg}`)
var msgArray = msg[0].split("/")
msgArray.shift()
console.log("Messge array: " + msgArray)
logEverywhere("Messge array: " + msgArray)
return obs.call("GetCurrentProgramScene").then(data => {
obs.call("SetCurrentSceneTransitionDuration", {
'transitionDuration': msg[1]
}).catch(() => {
logEverywhere("ERROR: Invalid SetCurrentSceneTransitionDuration Type Syntax. See Help > API")
})
})
}
system :
macos 12.6, OBS 28.03 OSC-for-OBS 3.1
Thanks for your software.
I am using OSC-for-OBS and it keeps booting up with no config information.
I saw that there was a default.txt and defaultOriginal.txt
default.txt is an empty file.
When I add the proper config info it loads correctly the first time, but when I reload the application it clears that file again.
Is there a way to stop that from happening?
Thank you for a great program!
i am switching scenes by index with /scene i
and it works great, except that the indexing seems to be backwards relative to what i see in OBS's scenes list. /scene 1
gives me the last scene, /scene 2
the second-to-last, etc. is there a way to change that?
OSC for OBS 3.1.3, OBS 28.1.2, Windows 10
I'd like to add on to this project but what is the license?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.