aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/src
diff options
context:
space:
mode:
Diffstat (limited to 'solo-tool-project/src')
-rw-r--r--solo-tool-project/src/solo_tool/player_mpv.py2
-rw-r--r--solo-tool-project/src/solo_tool/session_manager.py4
-rw-r--r--solo-tool-project/src/solo_tool/solo_tool.py11
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: