MCPcopy Create free account
hub / github.com/WarmUpTill/SceneSwitcher / Load

Method Load

lib/utils/duration.cpp:25–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23static int durationUnitToMultiplier(Duration::Unit u);
24
25void Duration::Load(obs_data_t *obj, const char *name)
26{
27 auto data = obs_data_get_obj(obj, name);
28
29 // TODO: remove this fallback
30 if (!data || !obs_data_has_user_value(data, "version") ||
31 obs_data_get_int(data, "version") != 1) {
32 _value = 0.;
33 bool usingDefaultArgs = strcmp("duration", name) == 0;
34 if (usingDefaultArgs) {
35 _value = obs_data_get_double(obj, "seconds");
36 }
37 if (_value.GetValue() == 0.0) {
38 _value = obs_data_get_double(obj, name);
39 }
40
41 if (usingDefaultArgs) {
42 _unit = static_cast<Duration::Unit>(
43 obs_data_get_int(obj, "displayUnit"));
44 } else if (_value.GetValue() >= 86400) {
45 _unit = (_value.GetValue() / 60 >= 86400)
46 ? Duration::Unit::HOURS
47 : Duration::Unit::MINUTES;
48 } else {
49 _unit = Duration::Unit::SECONDS;
50 }
51
52 _value = _value / durationUnitToMultiplier(_unit);
53
54 obs_data_release(data);
55 return;
56 }
57
58 _value.Load(data, "value");
59 _unit = static_cast<Duration::Unit>(obs_data_get_int(data, "unit"));
60 obs_data_release(data);
61}
62
63bool Duration::DurationReached()
64{

Callers 3

addConditionFunction · 0.45
addActionFunction · 0.45
addElseActionFunction · 0.45

Calls 2

GetValueMethod · 0.80
durationUnitToMultiplierFunction · 0.70

Tested by

no test coverage detected