mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Fixes #14
This commit is contained in:
parent
fca6774d4a
commit
1947a3cfd5
22
Utils.cpp
22
Utils.cpp
@ -93,6 +93,28 @@ obs_sceneitem_t* Utils::GetSceneItemFromName(obs_source_t* source, const char* n
|
|||||||
return search.result;
|
return search.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
obs_source_t* Utils::GetTransitionFromName(const char *search_name) {
|
||||||
|
obs_source_t *found_transition = NULL;
|
||||||
|
|
||||||
|
obs_frontend_source_list transition_list = {};
|
||||||
|
obs_frontend_get_transitions(&transition_list);
|
||||||
|
|
||||||
|
for (size_t i = 0; i < transition_list.sources.num; i++) {
|
||||||
|
obs_source_t *transition = transition_list.sources.array[i];
|
||||||
|
|
||||||
|
const char *transition_name = obs_source_get_name(transition);
|
||||||
|
if (strcmp(transition_name, search_name) == 0) {
|
||||||
|
found_transition = transition;
|
||||||
|
obs_source_addref(found_transition);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
obs_frontend_source_list_free(&transition_list);
|
||||||
|
|
||||||
|
return found_transition;
|
||||||
|
}
|
||||||
|
|
||||||
obs_data_array_t* Utils::GetScenes() {
|
obs_data_array_t* Utils::GetScenes() {
|
||||||
obs_frontend_source_list sceneList = {};
|
obs_frontend_source_list sceneList = {};
|
||||||
obs_frontend_get_scenes(&sceneList);
|
obs_frontend_get_scenes(&sceneList);
|
||||||
|
1
Utils.h
1
Utils.h
@ -28,6 +28,7 @@ class Utils
|
|||||||
static obs_data_array_t* GetSceneItems(obs_source_t *source);
|
static obs_data_array_t* GetSceneItems(obs_source_t *source);
|
||||||
static obs_data_t* GetSceneItemData(obs_scene_item *item);
|
static obs_data_t* GetSceneItemData(obs_scene_item *item);
|
||||||
static obs_sceneitem_t* GetSceneItemFromName(obs_source_t *source, const char *name);
|
static obs_sceneitem_t* GetSceneItemFromName(obs_source_t *source, const char *name);
|
||||||
|
static obs_source_t* GetTransitionFromName(const char *search_name);
|
||||||
|
|
||||||
static obs_data_array_t* GetScenes();
|
static obs_data_array_t* GetScenes();
|
||||||
static obs_data_t* GetSceneData(obs_source *source);
|
static obs_data_t* GetSceneData(obs_source *source);
|
||||||
|
@ -329,7 +329,7 @@ void WSRequestHandler::HandleGetCurrentTransition(WSRequestHandler *owner) {
|
|||||||
|
|
||||||
void WSRequestHandler::HandleSetCurrentTransition(WSRequestHandler *owner) {
|
void WSRequestHandler::HandleSetCurrentTransition(WSRequestHandler *owner) {
|
||||||
const char *name = obs_data_get_string(owner->_requestData, "transition-name");
|
const char *name = obs_data_get_string(owner->_requestData, "transition-name");
|
||||||
obs_source_t *transition = obs_get_source_by_name(name);
|
obs_source_t *transition = Utils::GetTransitionFromName(name);
|
||||||
|
|
||||||
if (transition) {
|
if (transition) {
|
||||||
obs_frontend_set_current_transition(transition);
|
obs_frontend_set_current_transition(transition);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user