diff --git a/app/musicmuster.py b/app/musicmuster.py index 31832ef..e88f99b 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -1025,6 +1025,9 @@ class Window(QMainWindow, Ui_MainWindow): # Play (new) current track track_sequence.current.play(position) + # Update clocks now, don't wait for next tick + self.update_clocks() + # Show closing volume graph if track_sequence.current.fade_graph: track_sequence.current.fade_graph.GraphWidget = self.widgetFadeVolume diff --git a/app/playlistmodel.py b/app/playlistmodel.py index d209ab1..eede2cf 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -1423,24 +1423,23 @@ class PlaylistModel(QAbstractTableModel): prd = self.playlist_rows[row_number] # Reset start_time if this is the current row - if row_number == track_sequence.current.plr_rownum: - prd.start_time = track_sequence.current.start_time - prd.end_time = track_sequence.current.end_time - update_rows.append(row_number) - if not next_start_time: - next_start_time = prd.end_time - continue + if track_sequence.current: + if row_number == track_sequence.current.row_number: + prd.start_time = track_sequence.current.start_time + prd.end_time = track_sequence.current.end_time + update_rows.append(row_number) + if not next_start_time: + next_start_time = prd.end_time + continue - # Set start time for next row if we have a current track - if ( - row_number == track_sequence.next.plr_rownum - and track_sequence.current.end_time - ): - prd.start_time = track_sequence.current.end_time - prd.end_time = prd.start_time + dt.timedelta(milliseconds=prd.duration) - next_start_time = prd.end_time - update_rows.append(row_number) - continue + # Set start time for next row if we have a current track + if track_sequence.next and track_sequence.current.end_time: + if row_number == track_sequence.next.row_number: + prd.start_time = track_sequence.current.end_time + prd.end_time = prd.start_time + dt.timedelta(milliseconds=prd.duration) + next_start_time = prd.end_time + update_rows.append(row_number) + continue # Don't update times for tracks that have been played if prd.played: @@ -1449,11 +1448,11 @@ class PlaylistModel(QAbstractTableModel): # If we're between the current and next row, zero out # times if ( - track_sequence.current.plr_rownum is not None - and track_sequence.next.plr_rownum is not None - and track_sequence.current.plr_rownum + track_sequence.current + and track_sequence.next + and track_sequence.current.row_number < row_number - < track_sequence.next.plr_rownum + < track_sequence.next.row_number ): prd.start_time = None prd.end_time = None