Passed
Push — master ( 1ed32d...5696b4 )
by manny
01:30 queued 11s
created

scripting.timer_scripting.script_timer_settings()   A

Complexity

Conditions 1

Size

Total Lines 18
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 18
rs 9.6
c 0
b 0
f 0
cc 1
nop 2
1
import obspython as obs
2
from rtgg_obs import RacetimeObs
3
4
5
def script_update_timer_settings(
6
    settings, rtgg_obs: RacetimeObs, update_sources
7
):
8
    obs.timer_remove(update_sources)
9
    rtgg_obs.timer.use_podium_colors = obs.obs_data_get_bool(
10
        settings, "use_podium")
11
    rtgg_obs.timer.pre_color = obs.obs_data_get_int(settings, "pre_color")
12
    rtgg_obs.timer.first_color = obs.obs_data_get_int(settings, "first_color")
13
    rtgg_obs.timer.second_color = obs.obs_data_get_int(
14
        settings, "second_color")
15
    rtgg_obs.timer.third_color = obs.obs_data_get_int(settings, "third_color")
16
    rtgg_obs.timer.racing_color = obs.obs_data_get_int(
17
        settings, "racing_color")
18
    rtgg_obs.timer.finished_color = obs.obs_data_get_int(
19
        settings, "finished_color")
20
21
    if rtgg_obs.selected_race != "":
22
        rtgg_obs.timer.enabled = True
23
        obs.timer_add(update_sources, 100)
24
    else:
25
        rtgg_obs.timer.enabled = False
26
    rtgg_obs.logger.debug(f"timer.enabled is {rtgg_obs.timer.enabled}")
27
    rtgg_obs.logger.debug(f"timer.source_name is {rtgg_obs.timer.source_name}")
28
    rtgg_obs.logger.debug(f"selected_race is {rtgg_obs.selected_race}")
29
30
31
def script_timer_settings(props, rtgg_obs: RacetimeObs):
32
    obs.obs_properties_add_bool(
33
        props, "use_podium", "Use custom color for podium finishes?")
34
35
    podium_group = obs.obs_properties_create()
36
    obs.obs_properties_add_group(
37
        props, "podium_group", "Podium Colors",
38
        obs.OBS_GROUP_NORMAL, podium_group
39
    )
40
    obs.obs_property_set_visible(obs.obs_properties_get(
41
        props, "podium_group"), rtgg_obs.timer.use_podium_colors)
42
    obs.obs_properties_add_color(podium_group, "pre_color", "Pre-race:")
43
    obs.obs_properties_add_color(podium_group, "racing_color", "Still racing:")
44
    obs.obs_properties_add_color(podium_group, "first_color", "1st place:")
45
    obs.obs_properties_add_color(podium_group, "second_color", "2nd place:")
46
    obs.obs_properties_add_color(podium_group, "third_color", "3rd place:")
47
    obs.obs_properties_add_color(
48
        podium_group, "finished_color", "After podium:")
49
50
51
def podium_toggled(props, prop, settings):
52
    vis = obs.obs_data_get_bool(settings, "use_podium")
53
    obs.obs_property_set_visible(
54
        obs.obs_properties_get(props, "podium_group"), vis)
55
    return True
56