Change Directory
This commit is contained in:
52
librespot/player/Player.py
Normal file
52
librespot/player/Player.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from __future__ import annotations
|
||||
from librespot.core.Session import Session
|
||||
from librespot.player import PlayerConfiguration, StateWrapper
|
||||
from librespot.player.metrics import PlaybackMetrics
|
||||
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 sched
|
||||
import time
|
||||
|
||||
|
||||
class Player(Closeable, PlayerSession.Listener, AudioSink.Listener):
|
||||
VOLUME_MAX: int = 65536
|
||||
_scheduler: sched.scheduler = sched.scheduler(time.time)
|
||||
_session: Session = None
|
||||
_conf: PlayerConfiguration = None
|
||||
_events: Player.EventsDispatcher = None
|
||||
_sink: AudioSink = None
|
||||
_metrics: dict[str, PlaybackMetrics] = dict()
|
||||
_state: StateWrapper = None
|
||||
_playerSession: PlayerSession = None
|
||||
_releaseLineFuture = None
|
||||
_deviceStateListener: DeviceStateHandler.Listener = None
|
||||
|
||||
def __init__(self, conf: PlayerConfiguration, session: Session):
|
||||
self._conf = conf
|
||||
self._session = session
|
||||
self._events = Player.EventsDispatcher(conf)
|
||||
self._sink = AudioSink(conf, self)
|
||||
|
||||
def init_state(self):
|
||||
self._state = StateWrapper(self._session, self, self._conf)
|
||||
|
||||
class Anonymous(DeviceStateHandler.Listener):
|
||||
def ready(self) -> None:
|
||||
pass
|
||||
|
||||
def command(self, endpoint: DeviceStateHandler.Endpoint, data: DeviceStateHandler.CommandBody) -> None:
|
||||
pass
|
||||
|
||||
self._deviceStateListener = Anonymous()
|
||||
|
||||
|
||||
def volume_up(self, steps: int = 1):
|
||||
if self.state is None:
|
||||
return
|
||||
|
||||
|
||||
class EventsDispatcher:
|
||||
def __init__(self, conf: PlayerConfiguration):
|
||||
pass
|
||||
Reference in New Issue
Block a user