From 07d397bdac54b19b80d2faf4c2d8813a581bb5fc Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Mon, 25 Dec 2023 16:56:36 +0100 Subject: [PATCH] Remove switcher-data dependency from scene-selection --- src/legacy/scene-group.cpp | 5 +++++ src/legacy/scene-group.hpp | 3 ++- src/utils/scene-selection.cpp | 10 ++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/legacy/scene-group.cpp b/src/legacy/scene-group.cpp index 116bc6e1..8208b544 100644 --- a/src/legacy/scene-group.cpp +++ b/src/legacy/scene-group.cpp @@ -12,6 +12,11 @@ namespace advss { static QMetaObject::Connection addPulse; SceneGroupEditWidget *typeEdit = nullptr; +std::deque &GetSceneGroups() +{ + return switcher->sceneGroups; +} + void SceneGroup::advanceIdx() { currentIdx++; diff --git a/src/legacy/scene-group.hpp b/src/legacy/scene-group.hpp index f3c7024b..048439e8 100644 --- a/src/legacy/scene-group.hpp +++ b/src/legacy/scene-group.hpp @@ -1,5 +1,5 @@ #pragma once - +#include #include #include #include @@ -87,5 +87,6 @@ private: SceneGroup *GetSceneGroupByName(const char *name); SceneGroup *GetSceneGroupByQString(const QString &name); +std::deque &GetSceneGroups(); } // namespace advss diff --git a/src/utils/scene-selection.cpp b/src/utils/scene-selection.cpp index e879a476..f1e08ab1 100644 --- a/src/utils/scene-selection.cpp +++ b/src/utils/scene-selection.cpp @@ -1,5 +1,7 @@ #include "scene-selection.hpp" -#include "switcher-data.hpp" +#include "obs-module-helper.hpp" +#include "scene-group.hpp" +#include "scene-switch-helpers.hpp" #include "utility.hpp" namespace advss { @@ -108,9 +110,9 @@ OBSWeakSource SceneSelection::GetScene(bool advance) const } return _group->getCurrentScene(); case Type::PREVIOUS: - return switcher->previousScene; + return GetPreviousScene(); case Type::CURRENT: - return switcher->currentScene; + return GetCurrentScene(); case Type::PREVIEW: { auto s = obs_frontend_get_current_preview_scene(); auto scene = obs_source_get_weak_source(s); @@ -237,7 +239,7 @@ static QStringList getScenesList() static QStringList getSceneGroupsList() { QStringList list; - for (const auto &sg : switcher->sceneGroups) { + for (const auto &sg : GetSceneGroups()) { list << QString::fromStdString(sg.name); } list.sort();