mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Request: Add CreateScene
This commit is contained in:
parent
5d12dfa368
commit
f1371034f7
@ -46,6 +46,7 @@ const QHash<QString, RpcMethodHandler> WSRequestHandler::messageMap {
|
|||||||
{ "SetCurrentScene", &WSRequestHandler::SetCurrentScene },
|
{ "SetCurrentScene", &WSRequestHandler::SetCurrentScene },
|
||||||
{ "GetCurrentScene", &WSRequestHandler::GetCurrentScene },
|
{ "GetCurrentScene", &WSRequestHandler::GetCurrentScene },
|
||||||
{ "GetSceneList", &WSRequestHandler::GetSceneList },
|
{ "GetSceneList", &WSRequestHandler::GetSceneList },
|
||||||
|
{ "CreateScene", &WSRequestHandler::CreateScene },
|
||||||
{ "SetSceneTransitionOverride", &WSRequestHandler::SetSceneTransitionOverride },
|
{ "SetSceneTransitionOverride", &WSRequestHandler::SetSceneTransitionOverride },
|
||||||
{ "RemoveSceneTransitionOverride", &WSRequestHandler::RemoveSceneTransitionOverride },
|
{ "RemoveSceneTransitionOverride", &WSRequestHandler::RemoveSceneTransitionOverride },
|
||||||
{ "GetSceneTransitionOverride", &WSRequestHandler::GetSceneTransitionOverride },
|
{ "GetSceneTransitionOverride", &WSRequestHandler::GetSceneTransitionOverride },
|
||||||
|
@ -64,6 +64,7 @@ class WSRequestHandler {
|
|||||||
RpcResponse SetCurrentScene(const RpcRequest&);
|
RpcResponse SetCurrentScene(const RpcRequest&);
|
||||||
RpcResponse GetCurrentScene(const RpcRequest&);
|
RpcResponse GetCurrentScene(const RpcRequest&);
|
||||||
RpcResponse GetSceneList(const RpcRequest&);
|
RpcResponse GetSceneList(const RpcRequest&);
|
||||||
|
RpcResponse CreateScene(const RpcRequest&);
|
||||||
RpcResponse SetSceneTransitionOverride(const RpcRequest&);
|
RpcResponse SetSceneTransitionOverride(const RpcRequest&);
|
||||||
RpcResponse RemoveSceneTransitionOverride(const RpcRequest&);
|
RpcResponse RemoveSceneTransitionOverride(const RpcRequest&);
|
||||||
RpcResponse GetSceneTransitionOverride(const RpcRequest&);
|
RpcResponse GetSceneTransitionOverride(const RpcRequest&);
|
||||||
|
@ -79,6 +79,31 @@ RpcResponse WSRequestHandler::GetSceneList(const RpcRequest& request) {
|
|||||||
return request.success(data);
|
return request.success(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new scene scene.
|
||||||
|
*
|
||||||
|
* @param {String} `scene-name` Name of the scene to create.
|
||||||
|
*
|
||||||
|
* @api requests
|
||||||
|
* @name CreateScene
|
||||||
|
* @category scenes
|
||||||
|
* @since 4.8.0
|
||||||
|
*/
|
||||||
|
RpcResponse WSRequestHandler::CreateScene(const RpcRequest& request) {
|
||||||
|
if (!request.hasField("sceneName")) {
|
||||||
|
return request.failed("missing request parameters");
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* sceneName = obs_data_get_string(request.parameters(), "sceneName");
|
||||||
|
OBSSourceAutoRelease source = obs_get_source_by_name(sceneName);
|
||||||
|
|
||||||
|
if (source) {
|
||||||
|
return request.failed("scene with this name already exists");
|
||||||
|
}
|
||||||
|
obs_scene_create(sceneName);
|
||||||
|
return request.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the order of scene items in the requested scene.
|
* Changes the order of scene items in the requested scene.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user