mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-02-01 23:59:10 +00:00
fix(ui): seamlessly loop videos (#902)
This commit is contained in:
committed by
GitHub
parent
7f7d861800
commit
f88200f38e
@@ -261,6 +261,7 @@ class MediaPlayer(QGraphicsView):
|
||||
loop_action.setChecked(self.driver.settings.loop)
|
||||
loop_action.triggered.connect(lambda: self.toggle_loop())
|
||||
self.loop = loop_action
|
||||
self.toggle_loop()
|
||||
|
||||
# start the player muted
|
||||
self.player.audioOutput().setMuted(True)
|
||||
@@ -277,6 +278,8 @@ class MediaPlayer(QGraphicsView):
|
||||
self.driver.settings.loop = self.loop.isChecked()
|
||||
self.driver.settings.save()
|
||||
|
||||
self.player.setLoops(-1 if self.driver.settings.loop else 1)
|
||||
|
||||
def apply_rounded_corners(self) -> None:
|
||||
"""Apply a rounded corner effect to the video player."""
|
||||
width: int = int(max(self.contentsRect().size().width(), 0))
|
||||
@@ -468,12 +471,6 @@ class MediaPlayer(QGraphicsView):
|
||||
current = self.format_time(self.player.position())
|
||||
duration = self.format_time(self.player.duration())
|
||||
self.position_label.setText(f"{current} / {duration}")
|
||||
elif status == QMediaPlayer.MediaStatus.EndOfMedia:
|
||||
self.player.setPosition(0)
|
||||
if self.loop.isChecked():
|
||||
self.player.play()
|
||||
else:
|
||||
self.player.pause()
|
||||
|
||||
def _update_controls(self, size: QSize) -> None:
|
||||
self.scene().setSceneRect(0, 0, size.width(), size.height())
|
||||
|
||||
Reference in New Issue
Block a user