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;
|
||||
}
|
||||
|
||||
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_frontend_source_list sceneList = {};
|
||||
obs_frontend_get_scenes(&sceneList);
|
||||
|
3
Utils.h
3
Utils.h
@ -27,7 +27,8 @@ class Utils
|
||||
public:
|
||||
static obs_data_array_t* GetSceneItems(obs_source_t *source);
|
||||
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_t* GetSceneData(obs_source *source);
|
||||
|
@ -329,7 +329,7 @@ void WSRequestHandler::HandleGetCurrentTransition(WSRequestHandler *owner) {
|
||||
|
||||
void WSRequestHandler::HandleSetCurrentTransition(WSRequestHandler *owner) {
|
||||
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) {
|
||||
obs_frontend_set_current_transition(transition);
|
||||
|
Loading…
x
Reference in New Issue
Block a user