generated from StreamController/PluginTemplate
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.py
More file actions
executable file
·118 lines (99 loc) · 4.15 KB
/
main.py
File metadata and controls
executable file
·118 lines (99 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import os
# Import StreamController modules
from src.backend.PluginManager.PluginBase import PluginBase
from src.backend.PluginManager.ActionHolder import ActionHolder
# Import actions
from .actions.shuffle import ShuffleAction
from .actions.play_pause import PlayPauseAction
from .actions.next_track import NextTrackAction
from .actions.previous_track import PrevTrackAction
from .actions.vol_down import VolDwnAction
from .actions.vol_up import VolUpAction
from .actions.vol_mute import VolMuteAction
from .actions.repeat import RepeatAction
from .actions.vol_set import VolSetAction
from .settings import PluginSettings
class SpotifyControl(PluginBase):
def __init__(self):
super().__init__()
self.lm = self.locale_manager
self.lm.set_to_os_default()
## Launch backend
backend_path = os.path.join(self.PATH, "backend", "backend.py")
self.launch_backend(backend_path=backend_path, open_in_terminal=False,
venv_path=os.path.join(self.PATH, "backend", '.venv'))
self._settings_manager = PluginSettings(self)
## Register actions
self.shuffle_action_holder = ActionHolder(
plugin_base = self,
action_base = ShuffleAction,
action_id = "dev_ReneLu_SpotifyControl::ShuffleAction",
action_name = "Shuffle",
)
self.add_action_holder(self.shuffle_action_holder)
self.playpause_action_holder = ActionHolder(
plugin_base = self,
action_base = PlayPauseAction,
action_id = "dev_ReneLu_SpotifyControl::PlayPauseAction",
action_name = "Play / Pause",
)
self.add_action_holder(self.playpause_action_holder)
self.nexttrack_action_holder = ActionHolder(
plugin_base = self,
action_base = NextTrackAction,
action_id = "dev_ReneLu_SpotifyControl::NextTrackAction",
action_name = "Next Track",
)
self.add_action_holder(self.nexttrack_action_holder)
self.prevtrack_action_holder = ActionHolder(
plugin_base = self,
action_base = PrevTrackAction,
action_id = "dev_ReneLu_SpotifyControl::PrevTrackAction",
action_name = "Previous Track",
)
self.add_action_holder(self.prevtrack_action_holder)
self.vol_dwn_action_holder = ActionHolder(
plugin_base = self,
action_base = VolDwnAction,
action_id = "dev_ReneLu_SpotifyControl::VolDwnAction",
action_name = "Volume Down",
)
self.add_action_holder(self.vol_dwn_action_holder)
self.vol_up_action_holder = ActionHolder(
plugin_base = self,
action_base = VolUpAction,
action_id = "dev_ReneLu_SpotifyControl::VolUpAction",
action_name = "Volume Up",
)
self.add_action_holder(self.vol_up_action_holder)
self.vol_mute_action_holder = ActionHolder(
plugin_base = self,
action_base = VolMuteAction,
action_id = "dev_ReneLu_SpotifyControl::VolMuteAction",
action_name = "Volume Mute",
)
self.add_action_holder(self.vol_mute_action_holder)
self.repeat_action_holder = ActionHolder(
plugin_base = self,
action_base = RepeatAction,
action_id = "dev_ReneLu_SpotifyControl::RepeatAction",
action_name = "Repeat",
)
self.add_action_holder(self.repeat_action_holder)
self.vol_set_action_holder = ActionHolder(
plugin_base = self,
action_base = VolSetAction,
action_id = "dev_ReneLu_SpotifyControl::VolSetAction",
action_name = "Volume Set",
)
self.add_action_holder(self.vol_set_action_holder)
# Register plugin
self.register(
plugin_name = "Spotify Control",
github_repo = "https://github.com/ReneLu/SpotifyControl",
plugin_version = "0.0.1-alpha",
app_version = "1.1.1-alpha"
)
self.has_plugin_settings = True
def get_settings_area(self):
return self._settings_manager.get_settings_area()