From 9ed95b2497a8951b28f040e3e4e90575716e3eee Mon Sep 17 00:00:00 2001 From: jp9000 Date: Tue, 6 Sep 2016 04:52:30 -0700 Subject: [PATCH] UI: Change certain scene functions to slot functions This allows using the functions via Qt message queue. The reason for this is so a frontend API can queue these functions to call safely from another thread. --- UI/window-basic-main-transitions.cpp | 8 ++++---- UI/window-basic-main.hpp | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index 1467866a6..65460f1d5 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -220,7 +220,7 @@ obs_source_t *OBSBasic::FindTransition(const char *name) return nullptr; } -void OBSBasic::TransitionToScene(obs_scene_t *scene, bool force) +void OBSBasic::TransitionToScene(OBSScene scene, bool force) { obs_source_t *source = obs_scene_get_source(scene); TransitionToScene(source, force); @@ -237,7 +237,7 @@ void OBSBasic::TransitionStopped() swapScene = nullptr; } -void OBSBasic::TransitionToScene(obs_source_t *source, bool force) +void OBSBasic::TransitionToScene(OBSSource source, bool force) { obs_scene_t *scene = obs_scene_from_source(source); bool usingPreviewProgram = IsPreviewProgramMode(); @@ -293,7 +293,7 @@ static inline void SetComboTransition(QComboBox *combo, obs_source_t *tr) } } -void OBSBasic::SetTransition(obs_source_t *transition) +void OBSBasic::SetTransition(OBSSource transition) { obs_source_t *oldTransition = obs_get_output_source(0); @@ -530,7 +530,7 @@ static T GetOBSRef(QListWidgetItem *item) return item->data(static_cast(QtDataRole::OBSRef)).value(); } -void OBSBasic::SetCurrentScene(obs_source_t *scene, bool force) +void OBSBasic::SetCurrentScene(OBSSource scene, bool force) { if (!IsPreviewProgramMode()) { TransitionToScene(scene, force); diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index c67a762cf..a3376df2e 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -232,10 +232,7 @@ private: void InitDefaultTransitions(); void InitTransition(obs_source_t *transition); - void TransitionToScene(obs_scene_t *scene, bool force = false); - void TransitionToScene(obs_source_t *scene, bool force = false); obs_source_t *FindTransition(const char *name); - void SetTransition(obs_source_t *transition); OBSSource GetCurrentTransition(); obs_data_array_t *SaveTransitions(); void LoadTransitions(obs_data_array_t *transitions); @@ -265,7 +262,6 @@ private: void SetPreviewProgramMode(bool enabled); void ResizeProgram(uint32_t cx, uint32_t cy); void SetCurrentScene(obs_scene_t *scene, bool force = false); - void SetCurrentScene(obs_source_t *scene, bool force = false); static void RenderProgram(void *data, uint32_t cx, uint32_t cy); std::vector quickTransitions; @@ -316,6 +312,11 @@ public slots: void SaveProjectDeferred(); void SaveProject(); + void SetTransition(OBSSource transition); + void TransitionToScene(OBSScene scene, bool force = false); + void TransitionToScene(OBSSource scene, bool force = false); + void SetCurrentScene(OBSSource scene, bool force = false); + private slots: void AddSceneItem(OBSSceneItem item); void RemoveSceneItem(OBSSceneItem item);