Add SetVolume event

This commit is contained in:
norohind 2022-11-13 22:52:34 +03:00
parent 2bcfa3ee7a
commit 3be4be8ec7
Signed by: norohind
GPG Key ID: 01C3BECC26FB59E1
2 changed files with 14 additions and 2 deletions

View File

@ -250,6 +250,9 @@ class AudioController:
elif isinstance(event, Events.MuteToggle): elif isinstance(event, Events.MuteToggle):
self.toggle_mute(event.PID) self.toggle_mute(event.PID)
elif isinstance(event, Events.SetVolume):
self.set_volume(event.PID, event.volume)
def start_blocking(self): def start_blocking(self):
# self.perform_discover() # self.perform_discover()
logger.debug(f'Starting blocking') logger.debug(f'Starting blocking')

View File

@ -35,6 +35,10 @@ From client to server:
2. Mute toggle 2. Mute toggle
PID PID
3. Set Volume
PID
new_volume
3. New client 3. New client
*Literally nothing* *Literally nothing*
# Set PID to any value # Set PID to any value
@ -118,6 +122,11 @@ class VolumeIncrement(ClientToServerEvent):
increment: int increment: int
@dataclass
class SetVolume(ClientToServerEvent):
volume: int
@dataclass @dataclass
class MuteToggle(ClientToServerEvent): class MuteToggle(ClientToServerEvent):
... ...
@ -132,8 +141,8 @@ T = TypeVar('T')
@lru_cache @lru_cache
def lookup_event(event_name: str) -> Event: def lookup_event(event_name: str, base: type[T] = ClientToServerEvent) -> T:
for cls in enumerate_subclasses(Event): for cls in enumerate_subclasses(base):
if cls.__name__ == event_name: if cls.__name__ == event_name:
return cls return cls