From 6bdde28f33b3e27349731291ee94c043ec238e4d Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Tue, 21 Dec 2021 22:56:14 +0100 Subject: AB controller integration test added --- solo_tool.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'solo_tool.py') diff --git a/solo_tool.py b/solo_tool.py index b1edba6..ff0f768 100644 --- a/solo_tool.py +++ b/solo_tool.py @@ -7,11 +7,15 @@ class SoloTool: def __init__(self, player=None): self._player = Player() if player is None else player self._playlist = Playlist(self._playlistCallback) - self._abController = ABController() + self._abController = ABController(callback=self._abControllerCallback) self._sessionManager = SessionManager(self._playlist, self._abController) def _playlistCallback(self, path): - self._player.setCurrentSong("") + self._player.setCurrentSong(path) + self._abController.setCurrentSong(path) + + def _abControllerCallback(self, position): + self._player.setPlaybackPosition(position) def addSong(self, path): self._sessionManager.addSong(path) @@ -19,6 +23,20 @@ class SoloTool: def setSong(self, index): self._playlist.setCurrentSong(index) + def addAbLimit(self, aLimit, bLimit): + self._abController.addLimits(aLimit, bLimit) + + def setAbLimit(self, index): + self._abController.setCurrentLimits(0) + + def tick(self): + position = self._player.getPlaybackPosition() + self._abController.positionChanged(position) + + def loadSession(self, path): + with open(path, "r") as f: + self._sessionManager.loadSession(f) + # Playback control def play(self): self._player.play() -- cgit v1.2.3