mirror of
https://github.com/gtalent/sc9k.git
synced 2025-07-03 15:21:46 -05:00
Compare commits
2 Commits
release-0.
...
release-0.
Author | SHA1 | Date | |
---|---|---|---|
09065f3e92 | |||
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()
|
@ -40,7 +40,8 @@ void OBSClient::setSlidesVisible(int state) {
|
|||||||
void OBSClient::get(QString urlExt) {
|
void OBSClient::get(QString urlExt) {
|
||||||
QUrl url(QString(BaseUrl) + urlExt);
|
QUrl url(QString(BaseUrl) + urlExt);
|
||||||
QNetworkRequest rqst(url);
|
QNetworkRequest rqst(url);
|
||||||
m_nam->get(rqst)->deleteLater();
|
auto reply = m_nam->get(rqst);
|
||||||
|
connect(reply, &QIODevice::readyRead, reply, &QObject::deleteLater);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSClient::poll() {
|
void OBSClient::poll() {
|
||||||
|
Reference in New Issue
Block a user