Error checking, type annotations, minor edits

This commit is contained in:
Keith Edmunds 2024-07-07 10:19:17 +01:00
parent 68a253bc7c
commit 7333fd570f
4 changed files with 13 additions and 18 deletions

View File

@ -370,7 +370,7 @@ def show_OK(parent: QMainWindow, title: str, msg: str) -> None:
QMessageBox.information(parent, title, msg, buttons=QMessageBox.StandardButton.Ok)
def show_warning(parent: QMainWindow, title: str, msg: str) -> None:
def show_warning(parent: Optional[QMainWindow], title: str, msg: str) -> None:
"""Display a warning to user"""
QMessageBox.warning(parent, title, msg, buttons=QMessageBox.StandardButton.Cancel)

View File

@ -1144,12 +1144,12 @@ class Window(QMainWindow, Ui_MainWindow):
# Show closing volume graph
if track_sequence.current.fade_graph:
log.error("issue223: play_next: set up fade_graph")
log.debug("issue223: play_next: set up fade_graph")
track_sequence.current.fade_graph.GraphWidget = self.widgetFadeVolume
track_sequence.current.fade_graph.clear()
track_sequence.current.fade_graph.plot()
else:
log.error("issue223: play_next: No fade_graph")
log.debug("issue223: play_next: No fade_graph")
# Disable play next controls
self.catch_return_key = True

View File

@ -31,6 +31,7 @@ from models import db, PlaylistRows, Tracks
from helpers import (
file_is_unreadable,
get_audio_segment,
show_warning,
)
lock = threading.Lock()
@ -312,6 +313,10 @@ class _Music:
return None
media = self.VLC.media_new_path(path)
if media is None:
log.error(f"_Music:play: failed to create media ({path=})")
show_warning(None, "Error loading file", f"Cannot play file ({path})")
return
self.player = media.player_new_from_media()
if self.player:
_ = self.player.play()
@ -334,6 +339,9 @@ class _Music:
self.set_volume(Config.VLC_VOLUME_DEFAULT)
log.error(f"Reset from {volume=}")
sleep(0.1)
else:
log.error("_Music:play: failed to create media player")
show_warning(None, "Media player", "Unable to create media player")
def set_position(self, position: float) -> None:
"""
@ -497,19 +505,6 @@ class _TrackManager:
self.player.adjust_by_ms(ms)
def move_to_intro_end(self, buffer: int = Config.PREVIEW_END_BUFFER_MS) -> None:
"""
Move play position to 'buffer' milliseconds before end of intro.
If no intro defined, do nothing.
"""
if self.intro is None:
return
new_position = max(0, self.intro - Config.PREVIEW_END_BUFFER_MS)
self.player.adjust_by_ms(new_position - self.time_playing())
def play(self, position: Optional[float] = None) -> None:
"""Play track"""
@ -519,7 +514,7 @@ class _TrackManager:
self.player.play(self.path, start_time=now, position=position)
self.end_time = self.start_time + dt.timedelta(milliseconds=self.duration)
self.end_time = now + dt.timedelta(milliseconds=self.duration)
# Calculate time fade_graph should start updating
if self.fade_at:

View File

@ -841,4 +841,4 @@ class Ui_MainWindow(object):
from infotabs import InfoTabs
from pyqtgraph import PlotWidget
from pyqtgraph import PlotWidget # type: ignore