Add player state

This commit is contained in:
kokarare1212
2021-02-25 18:22:28 +09:00
parent 2939ce931a
commit 7bb4f46d19
4 changed files with 34 additions and 8 deletions

View File

@@ -6,12 +6,14 @@ from librespot.player.mixing import AudioSink
from librespot.player.playback.PlayerSession import PlayerSession
from librespot.player.state.DeviceStateHandler import DeviceStateHandler
from librespot.standard.Closeable import Closeable
import logging
import sched
import time
class Player(Closeable, PlayerSession.Listener, AudioSink.Listener):
VOLUME_MAX: int = 65536
_LOGGER: logging = logging.getLogger(__name__)
_scheduler: sched.scheduler = sched.scheduler(time.time)
_session: Session = None
_conf: PlayerConfiguration = None
@@ -29,24 +31,30 @@ class Player(Closeable, PlayerSession.Listener, AudioSink.Listener):
self._events = Player.EventsDispatcher(conf)
self._sink = AudioSink(conf, self)
def init_state(self):
self._state = StateWrapper(self._session, self, self._conf)
self._init_state()
def _init_state(self):
self._state = StateWrapper.StateWrapper(self._session, self, self._conf)
class Anonymous(DeviceStateHandler.Listener):
_player: Player = None
def __init__(self, player: Player):
self._player = player
def ready(self) -> None:
pass
def command(self, endpoint: DeviceStateHandler.Endpoint, data: DeviceStateHandler.CommandBody) -> None:
pass
self._deviceStateListener = Anonymous()
self._player._LOGGER.debug("Received command: {}".format(endpoint))
self._deviceStateListener = Anonymous(self)
self._state.add_listener(self._deviceStateListener)
def volume_up(self, steps: int = 1):
if self.state is None:
if self._state is None:
return
class EventsDispatcher:
def __init__(self, conf: PlayerConfiguration):
pass