From b12c25fdf49138bd9883367bd98d09624b62cbd7 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 14 Jan 2023 19:24:09 +0100 Subject: [PATCH] Enable getting variable values from studio mode condition --- src/macro-core/macro-condition-studio-mode.cpp | 6 ++++++ src/macro-core/macro-condition-studio-mode.hpp | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/macro-core/macro-condition-studio-mode.cpp b/src/macro-core/macro-condition-studio-mode.cpp index ac6bb483..17d503ca 100644 --- a/src/macro-core/macro-condition-studio-mode.cpp +++ b/src/macro-core/macro-condition-studio-mode.cpp @@ -33,6 +33,7 @@ bool MacroConditionStudioMode::CheckCondition() auto s = obs_frontend_get_current_preview_scene(); auto scene = obs_source_get_weak_source(s); ret = _scene.GetScene() == scene; + SetVariableValue(GetWeakSourceName(scene)); obs_weak_source_release(scene); obs_source_release(s); break; @@ -40,6 +41,11 @@ bool MacroConditionStudioMode::CheckCondition() default: break; } + + if (GetVariableValue().empty()) { + SetVariableValue(ret ? "true" : "false"); + } + return ret; } diff --git a/src/macro-core/macro-condition-studio-mode.hpp b/src/macro-core/macro-condition-studio-mode.hpp index d286e2d7..07fb8dbd 100644 --- a/src/macro-core/macro-condition-studio-mode.hpp +++ b/src/macro-core/macro-condition-studio-mode.hpp @@ -13,7 +13,7 @@ enum class StudioModeCondition { class MacroConditionStudioMode : public MacroCondition { public: - MacroConditionStudioMode(Macro *m) : MacroCondition(m) {} + MacroConditionStudioMode(Macro *m) : MacroCondition(m, true) {} bool CheckCondition(); bool Save(obs_data_t *obj) const; bool Load(obs_data_t *obj);