Videre
This commit is contained in:
@@ -160,9 +160,13 @@ class Player(QObject):
|
||||
self.levels_changed.emit(max(0.0, l), max(0.0, r))
|
||||
|
||||
def _on_end_reached(self, event):
|
||||
"""Kaldes fra VLC's event-tråd — send signal til GUI via Qt."""
|
||||
self._poll_timer.stop()
|
||||
# Qt-safe: brug QTimer.singleShot til at sende signal i main thread
|
||||
"""Kaldes fra VLC's event-tråd — må IKKE røre Qt-objekter direkte."""
|
||||
# QTimer.singleShot er thread-safe og sender alt til main thread
|
||||
from PyQt6.QtCore import QTimer as _QTimer
|
||||
_QTimer.singleShot(0, self.song_ended.emit)
|
||||
_QTimer.singleShot(0, lambda: self.state_changed.emit("stopped"))
|
||||
_QTimer.singleShot(0, self._handle_end_in_main_thread)
|
||||
|
||||
def _handle_end_in_main_thread(self):
|
||||
"""Kaldes i main thread — her er det sikkert at røre Qt."""
|
||||
self._poll_timer.stop()
|
||||
self.song_ended.emit()
|
||||
self.state_changed.emit("stopped")
|
||||
|
||||
Reference in New Issue
Block a user