Compare commits
4 Commits
1d51edc50f
...
a46b9a3d6f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a46b9a3d6f | ||
|
|
1ee9a1ae22 | ||
|
|
e884201df4 | ||
|
|
2f32f2e914 |
@ -1031,6 +1031,7 @@ class Window(QMainWindow, Ui_MainWindow):
|
||||
# Show closing volume graph
|
||||
if track_sequence.current.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("No fade_graph")
|
||||
@ -1074,11 +1075,15 @@ class Window(QMainWindow, Ui_MainWindow):
|
||||
self.btnPreview.setChecked(False)
|
||||
return
|
||||
|
||||
with db.Session() as session:
|
||||
self.preview_track_manager = PreviewTrackManager(
|
||||
session=session, track_id=track_id, row_number=row_number
|
||||
)
|
||||
self.preview_track_manager.play()
|
||||
try:
|
||||
with db.Session() as session:
|
||||
self.preview_track_manager = PreviewTrackManager(
|
||||
session=session, track_id=track_id, row_number=row_number
|
||||
)
|
||||
self.preview_track_manager.play()
|
||||
except ValueError as e:
|
||||
log.error(f"Error creating PreviewTrackManager({str(e)})")
|
||||
return
|
||||
|
||||
else:
|
||||
if self.preview_track_manager:
|
||||
|
||||
@ -382,8 +382,6 @@ class PlaylistModel(QAbstractTableModel):
|
||||
Return text for display
|
||||
"""
|
||||
|
||||
log.debug(f"display_role({row=}, {column=}")
|
||||
|
||||
# Set / reset column span
|
||||
if column == HEADER_NOTES_COLUMN:
|
||||
column_span = 1
|
||||
@ -1229,9 +1227,11 @@ class PlaylistModel(QAbstractTableModel):
|
||||
|
||||
return True
|
||||
|
||||
def set_next_row(self, row_number: Optional[int]) -> None:
|
||||
def set_next_row(self, row_number: Optional[int]) -> bool:
|
||||
"""
|
||||
Set row_number as next track. If row_number is None, clear next track.
|
||||
|
||||
Return True if successful else False.
|
||||
"""
|
||||
|
||||
log.debug(f"set_next_row({row_number=})")
|
||||
@ -1241,7 +1241,7 @@ class PlaylistModel(QAbstractTableModel):
|
||||
if track_sequence.next:
|
||||
track_sequence.next = None
|
||||
else:
|
||||
return
|
||||
return True
|
||||
else:
|
||||
# Get plrid of row
|
||||
try:
|
||||
@ -1252,14 +1252,14 @@ class PlaylistModel(QAbstractTableModel):
|
||||
f"{self.playlist_id=}"
|
||||
"IndexError"
|
||||
)
|
||||
return
|
||||
return False
|
||||
if prd.track_id is None or prd.plr_rownum is None:
|
||||
log.error(
|
||||
f"playlistmodel.set_next_track({row_number=}, "
|
||||
"No track / row number "
|
||||
f"{self.playlist_id=}, {prd.track_id=}, {prd.plr_rownum=}"
|
||||
)
|
||||
return
|
||||
return False
|
||||
|
||||
old_next_row: Optional[int] = None
|
||||
if track_sequence.next:
|
||||
@ -1270,8 +1270,8 @@ class PlaylistModel(QAbstractTableModel):
|
||||
track_sequence.next = MainTrackManager(session, prd.plrid)
|
||||
self.invalidate_row(row_number)
|
||||
except ValueError as e:
|
||||
log.error(f"Error creating PlaylistTrack({prd=}): ({str(e)})")
|
||||
return
|
||||
log.error(f"Error creating MainTrackManager({prd=}): ({str(e)})")
|
||||
return False
|
||||
|
||||
self.signals.search_wikipedia_signal.emit(
|
||||
self.playlist_rows[row_number].title
|
||||
@ -1283,6 +1283,8 @@ class PlaylistModel(QAbstractTableModel):
|
||||
self.signals.next_track_changed_signal.emit()
|
||||
self.update_track_times()
|
||||
|
||||
return True
|
||||
|
||||
def setData(
|
||||
self,
|
||||
index: QModelIndex,
|
||||
@ -1688,7 +1690,7 @@ class PlaylistProxyModel(QSortFilterProxyModel):
|
||||
def rescan_track(self, row_number: int) -> None:
|
||||
return self.source_model.rescan_track(row_number)
|
||||
|
||||
def set_next_row(self, row_number: Optional[int]) -> None:
|
||||
def set_next_row(self, row_number: Optional[int]) -> bool:
|
||||
return self.source_model.set_next_row(row_number)
|
||||
|
||||
def sort_by_artist(self, row_numbers: List[int]) -> None:
|
||||
|
||||
@ -381,6 +381,10 @@ class _TrackManager:
|
||||
self.row_number = row_number
|
||||
self.preview_player = preview_player
|
||||
|
||||
# Check file readable
|
||||
if file_is_unreadable(track.path):
|
||||
raise ValueError(f"_TrackManager.__init__: {track.path=} unreadable")
|
||||
|
||||
self.artist = track.artist
|
||||
self.bitrate = track.bitrate
|
||||
self.duration = track.duration
|
||||
|
||||
Loading…
Reference in New Issue
Block a user