diff options
Diffstat (limited to 'solo-tool-project/src/solo_tool')
-rw-r--r-- | solo-tool-project/src/solo_tool/player_mpv.py | 2 | ||||
-rw-r--r-- | solo-tool-project/src/solo_tool/session_manager.py | 4 | ||||
-rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 11 |
3 files changed, 10 insertions, 7 deletions
diff --git a/solo-tool-project/src/solo_tool/player_mpv.py b/solo-tool-project/src/solo_tool/player_mpv.py index b9ab266..1297b63 100644 --- a/solo-tool-project/src/solo_tool/player_mpv.py +++ b/solo-tool-project/src/solo_tool/player_mpv.py @@ -41,7 +41,7 @@ class Player: def setCurrentSong(self, path): self.pause() - self._player.play(path) + self._player.play(str(path)) def setPlayingStateChangedCallback(self, callback): self._playingStateCallback = callback diff --git a/solo-tool-project/src/solo_tool/session_manager.py b/solo-tool-project/src/solo_tool/session_manager.py index 9744b57..cd5ebf7 100644 --- a/solo-tool-project/src/solo_tool/session_manager.py +++ b/solo-tool-project/src/solo_tool/session_manager.py @@ -1,11 +1,11 @@ import json from . import SoloTool -def loadSession(file: str) -> SoloTool: +def loadSession(file: str, songPool: str, player=None) -> SoloTool: with open(file, "r") as f: session = json.load(f) - st = SoloTool() + st = SoloTool(songPool, player=player) for i, entry in enumerate(session): songPath = entry["path"] diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index a55184e..349f3a0 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -1,10 +1,12 @@ import os +from pathlib import Path from .notifier import Notifier from .player_mpv import Player class SoloTool: - def __init__(self, player=None): + def __init__(self, songPool: str, player=None): + self._songPool = Path(songPool) self._player = Player() if player is None else player self._notifier = Notifier(self._player) self._songs = [] @@ -16,7 +18,7 @@ class SoloTool: previousSong = self._song self._song = index self._player.pause() - self._player.setCurrentSong(self._songs[index]) + self._player.setCurrentSong(self._songPool / self._songs[index]) self._notifier.notify(Notifier.CURRENT_SONG_EVENT, index) previousKp = self._keyPoint @@ -35,12 +37,13 @@ class SoloTool: def songs(self) -> list[str]: return self._songs.copy() - def addSong(self, path: str) -> None: + def addSong(self, fileName: str) -> None: + path = self._songPool / fileName if not os.path.isfile(path): raise FileNotFoundError(path) if path in self._songs: return - self._songs.append(path) + self._songs.append(fileName) self._keyPoints.append([]) self._notifier.notify(Notifier.SONG_LIST_EVENT, self.songs) if self.song is None: |