mirror of
https://github.com/gtalent/sc9k.git
synced 2025-01-23 10:53:37 -06:00
Add obs scene switcher script
This commit is contained in:
parent
a6ecc22d78
commit
0ff1dfd300
36
obs_scene_switcher.py
Normal file
36
obs_scene_switcher.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
from http.server import HTTPServer, BaseHTTPRequestHandler
|
||||||
|
from urllib.parse import urlparse, parse_qs
|
||||||
|
import threading
|
||||||
|
import obspython as obs
|
||||||
|
|
||||||
|
def set_current_scene(scene_name):
|
||||||
|
scenes = obs.obs_frontend_get_scenes()
|
||||||
|
for scene in scenes:
|
||||||
|
name = obs.obs_source_get_name(scene)
|
||||||
|
if name == scene_name:
|
||||||
|
obs.obs_frontend_set_current_scene(scene)
|
||||||
|
return 0
|
||||||
|
return 1
|
||||||
|
|
||||||
|
class RqstHandler(BaseHTTPRequestHandler):
|
||||||
|
|
||||||
|
def do_GET(self):
|
||||||
|
up = urlparse(self.path)
|
||||||
|
if up.path == '/Scene':
|
||||||
|
qc = parse_qs(up.query)
|
||||||
|
set_current_scene(qc.get('name', [''])[0])
|
||||||
|
self.send_response(200)
|
||||||
|
self.end_headers()
|
||||||
|
elif up.path == '/ping':
|
||||||
|
self.send_response(200)
|
||||||
|
self.end_headers()
|
||||||
|
|
||||||
|
def log_message(self, format, *args):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def run(name):
|
||||||
|
httpd = HTTPServer(('127.0.0.1', 9302), RqstHandler)
|
||||||
|
httpd.serve_forever()
|
||||||
|
|
||||||
|
t = threading.Thread(target=run, args=(1,), daemon=True)
|
||||||
|
t.start()
|
Loading…
Reference in New Issue
Block a user