From 0fe31432be0fdbbd7a4393fd261e24a97e304774 Mon Sep 17 00:00:00 2001 From: WarmUpTill <19472752+WarmUpTill@users.noreply.github.com> Date: Thu, 10 Apr 2025 19:08:07 +0200 Subject: [PATCH] Add "previous scene" to the "scene has (not) changed" checks --- plugins/base/macro-condition-scene.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/base/macro-condition-scene.cpp b/plugins/base/macro-condition-scene.cpp index c0e8de17..6ceba250 100644 --- a/plugins/base/macro-condition-scene.cpp +++ b/plugins/base/macro-condition-scene.cpp @@ -94,11 +94,15 @@ bool MacroConditionScene::CheckCondition() SetVariableValue(GetWeakSourceName(GetCurrentScene())); SetTempVarValue("current", GetWeakSourceName(GetCurrentScene())); + SetTempVarValue("previous", + GetWeakSourceName(GetPreviousScene())); return sceneChanged; case Type::NOT_CHANGED: SetVariableValue(GetWeakSourceName(GetCurrentScene())); SetTempVarValue("current", GetWeakSourceName(GetCurrentScene())); + SetTempVarValue("previous", + GetWeakSourceName(GetPreviousScene())); return !sceneChanged; case Type::CURRENT_PATTERN: { auto scene = getCurrentSceneHelper(_useTransitionTargetScene); @@ -212,8 +216,6 @@ void MacroConditionScene::SetupTempVars() MacroCondition::SetupTempVars(); switch (_type) { case Type::CURRENT: - case Type::CHANGED: - case Type::NOT_CHANGED: case Type::CURRENT_PATTERN: AddTempvar("current", obs_module_text( @@ -231,6 +233,15 @@ void MacroConditionScene::SetupTempVars() obs_module_text( "AdvSceneSwitcher.tempVar.scene.preview")); break; + case Type::CHANGED: + case Type::NOT_CHANGED: + AddTempvar("current", + obs_module_text( + "AdvSceneSwitcher.tempVar.scene.current")); + AddTempvar("previous", + obs_module_text( + "AdvSceneSwitcher.tempVar.scene.previous")); + break; default: break; }