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