WIP: preview forward/back working

This commit is contained in:
Keith Edmunds 2024-07-03 16:11:13 +01:00
parent 9656bac49f
commit e3d7ae8e0f
2 changed files with 23 additions and 5 deletions

View File

@ -153,6 +153,24 @@ class PreviewManager:
self.path: str = ""
self.start_time: Optional[dt.datetime] = None
def back(self, ms: int) -> None:
"""
Move play position back by 'ms' milliseconds
"""
position = max(0, (self.get_playtime() - ms)) / 1000
mixer.music.set_pos(position)
self.start_time = dt.datetime.now() - dt.timedelta(seconds=position)
def forward(self, ms: int) -> None:
"""
Move play position forward by 'ms' milliseconds
"""
position = (self.get_playtime() + ms) / 1000
mixer.music.set_pos(position)
self.start_time = dt.datetime.now() - dt.timedelta(seconds=position)
def get_playtime(self) -> int:
"""
Return time since track started in milliseconds, 0 if not playing
@ -1115,8 +1133,7 @@ class Window(QMainWindow, Ui_MainWindow):
def preview_back(self) -> None:
"""Wind back preview file"""
# TODO
pass
self.preview_manager.back(5000)
def preview_end(self) -> None:
"""Advance preview file to Config.PREVIEW_END_BUFFER_MS before end of intro"""
@ -1127,8 +1144,7 @@ class Window(QMainWindow, Ui_MainWindow):
def preview_fwd(self) -> None:
"""Advance preview file"""
# TODO
pass
self.preview_manager.forward(5000)
def preview_mark(self) -> None:
"""Set intro time"""

View File

@ -328,7 +328,9 @@ class _Music:
if self.player:
self.player.set_position(position)
def set_volume(self, volume: Optional[int] = None, set_default: bool = True) -> None:
def set_volume(
self, volume: Optional[int] = None, set_default: bool = True
) -> None:
"""Set maximum volume used for player"""
if not self.player: