mirror of
https://github.com/gtalent/sc9k.git
synced 2025-01-23 00:33:36 -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