diff --git a/lib/macro/macro-helpers.cpp b/lib/macro/macro-helpers.cpp index 01470c37..57ca7729 100644 --- a/lib/macro/macro-helpers.cpp +++ b/lib/macro/macro-helpers.cpp @@ -214,6 +214,20 @@ bool MacroIsPaused(const Macro *macro) return macro ? macro->Paused() : true; } +void SetMacroPaused(Macro *macro, bool paused) +{ + if (macro) { + macro->SetPaused(paused); + } +} + +void StopMacro(Macro *macro) +{ + if (macro) { + macro->Stop(); + } +} + bool MacroWasPausedSince( const Macro *macro, const std::chrono::high_resolution_clock::time_point &time) @@ -237,14 +251,20 @@ void AddMacroHelperThread(Macro *macro, std::thread &&newThread) macro->AddHelperThread(std::move(newThread)); } -bool RunMacroActions(Macro *macro) +bool RunMacroActions(Macro *macro, bool forceParallel, bool ignorePause) { - return macro && macro->PerformActions(true); + return macro && macro->PerformActions(true, forceParallel, ignorePause); } -bool RunMacroElseActions(Macro *macro) +bool RunMacroElseActions(Macro *macro, bool forceParallel, bool ignorePause) { - return macro && macro->PerformActions(false); + return macro && + macro->PerformActions(false, forceParallel, ignorePause); +} + +bool CheckMacroConditions(Macro *macro, bool ignorePause) +{ + return macro && macro->CheckConditions(ignorePause); } void ResetMacroConditionTimers(Macro *macro) diff --git a/lib/macro/macro-helpers.hpp b/lib/macro/macro-helpers.hpp index ab0a1a2a..c31bc7e3 100644 --- a/lib/macro/macro-helpers.hpp +++ b/lib/macro/macro-helpers.hpp @@ -58,6 +58,8 @@ LastMacroConditionCheckTime(const Macro *); EXPORT bool MacroIsStopped(const Macro *); EXPORT bool MacroIsPaused(const Macro *); +EXPORT void SetMacroPaused(Macro *, bool paused); +EXPORT void StopMacro(Macro *); EXPORT bool MacroWasPausedSince(const Macro *, const std::chrono::high_resolution_clock::time_point &); @@ -66,10 +68,14 @@ EXPORT bool MacroWasCheckedSinceLastStart(const Macro *); EXPORT void AddMacroHelperThread(Macro *, std::thread &&); EXPORT bool CheckMacros(); +EXPORT bool CheckMacroConditions(Macro *, bool ignorePause = false); -EXPORT bool RunMacroActions(Macro *); -bool RunMacroElseActions(Macro *); +EXPORT bool RunMacroActions(Macro *, bool forceParallel = false, + bool ignorePause = false); +EXPORT bool RunMacroElseActions(Macro *, bool forceParallel = false, + bool ignorePause = false); EXPORT bool RunMacros(); + void StopAllMacros(); EXPORT void LoadMacros(obs_data_t *obj);