SceneSwitcher/lib/utils/plugin-state-helpers.cpp
WarmUpTill 2b2bab8fbc Backup setting on exit to plugin config dir
Only one version of the settings file will be kept per scene collection
and plugin version combination
2024-02-28 12:53:02 +01:00

133 lines
2.2 KiB
C++

#include "plugin-state-helpers.hpp"
#include "switcher-data.hpp"
namespace advss {
void SavePluginSettings(obs_data_t *obj)
{
GetSwitcher()->SaveSettings(obj);
}
void LoadPluginSettings(obs_data_t *obj)
{
GetSwitcher()->LoadSettings(obj);
}
void AddSaveStep(std::function<void(obs_data_t *)> step)
{
GetSwitcher()->AddSaveStep(step);
}
void AddLoadStep(std::function<void(obs_data_t *)> step)
{
GetSwitcher()->AddLoadStep(step);
}
void AddPostLoadStep(std::function<void()> step)
{
GetSwitcher()->AddPostLoadStep(step);
}
void AddIntervalResetStep(std::function<void()> step, bool lock)
{
GetSwitcher()->AddIntervalResetStep(step, lock);
}
void RunPostLoadSteps()
{
GetSwitcher()->RunPostLoadSteps();
}
void AddPluginInitStep(std::function<void()> step)
{
GetSwitcher()->AddPluginInitStep(step);
}
void AddPluginPostLoadStep(std::function<void()> step)
{
GetSwitcher()->AddPluginPostLoadStep(step);
}
void AddPluginCleanupStep(std::function<void()> step)
{
GetSwitcher()->AddPluginCleanupStep(step);
}
void StopPlugin()
{
GetSwitcher()->Stop();
}
void StartPlugin()
{
GetSwitcher()->Start();
}
bool PluginIsRunning()
{
return GetSwitcher() && GetSwitcher()->th &&
GetSwitcher()->th->isRunning();
}
int GetIntervalValue()
{
return GetSwitcher()->interval;
}
void SetPluginNoMatchBehavior(NoMatchBehavior behavior)
{
GetSwitcher()->switchIfNotMatching = behavior;
}
NoMatchBehavior GetPluginNoMatchBehavior()
{
return GetSwitcher()->switchIfNotMatching;
}
void SetNoMatchScene(const OBSWeakSource &scene)
{
GetSwitcher()->nonMatchingScene = scene;
}
std::string ForegroundWindowTitle()
{
return GetSwitcher()->currentTitle;
}
std::string PreviousForegroundWindowTitle()
{
return GetSwitcher()->lastTitle;
}
bool SettingsWindowIsOpened()
{
return GetSwitcher()->settingsWindowOpened;
}
bool HighlightUIElementsEnabled()
{
return GetSwitcher() && !GetSwitcher()->disableHints;
}
bool OBSIsShuttingDown()
{
return GetSwitcher() && GetSwitcher()->obsIsShuttingDown;
}
bool InitialLoadIsComplete()
{
return GetSwitcher()->startupLoadDone;
}
bool IsFirstInterval()
{
return GetSwitcher()->firstInterval;
}
bool IsFirstIntervalAfterStop()
{
return GetSwitcher()->firstIntervalAfterStop;
}
} // namespace advss