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);