Row times updating working

This commit is contained in:
Keith Edmunds 2024-06-02 16:34:30 +01:00
parent 4ec1c0e09c
commit 983716e009
2 changed files with 23 additions and 21 deletions

View File

@ -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

View File

@ -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