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):
self.toggle_mute(event.PID)
elif isinstance(event, Events.SetVolume):
self.set_volume(event.PID, event.volume)
def start_blocking(self):
# self.perform_discover()
logger.debug(f'Starting blocking')

View File

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