Add player state
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user