Working Version
This commit is contained in:
parent
5d9831fc30
commit
3d0f2b0a90
@ -11,24 +11,22 @@ async def default_request():
|
|||||||
result = await ws.call('GetVersion') # We get the current OBS version. More request data is not required
|
result = await ws.call('GetVersion') # We get the current OBS version. More request data is not required
|
||||||
print(result) # Print the raw json output of the GetVersion request
|
print(result) # Print the raw json output of the GetVersion request
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
print("\n\n")
|
|
||||||
requests = result['available-requests'].split(',')
|
requests = result['available-requests'].split(',')
|
||||||
for r in requests:
|
|
||||||
print(r)
|
|
||||||
print("\n\n")
|
|
||||||
#data = {'source':'test_source', 'volume':0.5}
|
#data = {'source':'test_source', 'volume':0.5}
|
||||||
#result = await ws.call('SetVolume', data) # Make a request with the given data
|
#result = await ws.call('SetVolume', data) # Make a request with the given data
|
||||||
#print(result)
|
#print(result)
|
||||||
await ws.disconnect() # Clean things up by disconnecting. Only really required in a few specific situations, but good practice if you are done making requests or listening to events.
|
await ws.disconnect() # Clean things up by disconnecting. Only really required in a few specific situations, but good practice if you are done making requests or listening to events.
|
||||||
|
return requests
|
||||||
|
|
||||||
async def make_custom_request(request, data=None):
|
async def make_custom_request(request, data=None):
|
||||||
await ws.connect() # Make the connection to OBS-Websocket
|
await ws.connect() # Make the connection to OBS-Websocket
|
||||||
result = await ws.call(request) # We get the current OBS version. More request data is not required
|
#result = await ws.call(request) # We get the current OBS version. More request data is not required
|
||||||
print(result) # Print the raw json output of the GetVersion request
|
#print(result) # Print the raw json output of the GetVersion request
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
if not data==None:
|
if not data==None:
|
||||||
data = {'source':'test_source', 'volume':0.5}
|
#data = {'source':'tinycam', 'volume':0.5}
|
||||||
result = await ws.call('SetVolume', data) # Make a request with the given data
|
result = await ws.call(request, data=data) # Make a request with the given data
|
||||||
print(result)
|
print(result)
|
||||||
await ws.disconnect() # Clean things up by disconnecting. Only really required in a few specific situations, but good practice if you are done making requests or listening to events.
|
await ws.disconnect() # Clean things up by disconnecting. Only really required in a few specific situations, but good practice if you are done making requests or listening to events.
|
||||||
|
|
||||||
@ -44,10 +42,10 @@ async def on_switchscenes(data):
|
|||||||
|
|
||||||
|
|
||||||
def getRequests():
|
def getRequests():
|
||||||
loop.run_until_complete(default_request())
|
return loop.run_until_complete(default_request())
|
||||||
|
|
||||||
def makeRequest(request):
|
def makeRequest(request, data):
|
||||||
loop.run_until_complete(make_custom_request(request))
|
loop.run_until_complete(make_custom_request(request, data))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -16,19 +16,30 @@ api.config["DEBUG"] = False
|
|||||||
possibleRequests = []
|
possibleRequests = []
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
#possibleRequests = obsWebSocket.getRequests()
|
possibleRequests = obsWebSocket.getRequests()
|
||||||
#obsWebSocket.makeRequest("ToggleStudioMode")
|
for r in possibleRequests:
|
||||||
obsWebSocket.listenForData()
|
print("requestname: "+r)
|
||||||
|
#obsWebSocket.makeRequest("ToggleStudioMode", {'source':'tinycam', 'render':'True'})
|
||||||
|
obsWebSocket.makeRequest("SetSourceRender", data={'source':"tinycam", 'render': False, 'scene-name':"Cam feed (main) INFOBOX"})
|
||||||
|
obsWebSocket.makeRequest("SetSourceRender", data={'source':"tinycam", 'render': True, 'scene-name':"Cam feed (main) INFOBOX"})
|
||||||
|
|
||||||
@api.route('/api/v1/obs/websocket/getRequests', methods=['GET'])
|
#obsWebSocket.listenForData()
|
||||||
def getRequests():
|
|
||||||
if 'name' in request.args:
|
def do_request(requestName, data):
|
||||||
pass
|
if requestName in possibleRequests:
|
||||||
#if is_command(request.args['name']):
|
obsWebSocket.makeRequest(requestName, data)
|
||||||
# return flask.make_response('', 200)
|
|
||||||
#else:
|
@api.route('/api/v1/obs/websocket/makeRequest', methods=['GET'])
|
||||||
# return flask.make_response('', 404)
|
def makeRequest():
|
||||||
|
if 'request_name' not in request.args:
|
||||||
|
return flask.make_response('{\"text\":"Argument \'request_name\' not in request"}', 400)
|
||||||
|
if 'request_data' not in request.args:
|
||||||
|
data = None
|
||||||
|
else:
|
||||||
|
data = request.args['request_data']
|
||||||
|
#possibleRequests = obsWebSocket.getRequests()
|
||||||
|
do_request(request.args['request_name'], data)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
init()
|
init()
|
||||||
api.run(host='0.0.0.0', port=6009)
|
#api.run(host='0.0.0.0', port=6009)
|
||||||
Loading…
Reference in New Issue
Block a user