Text over video with loop

This commit is contained in:
Tim Bentley 2010-04-30 17:57:53 +01:00
parent 09da62f9cc
commit 79180c7f1c
1 changed files with 9 additions and 0 deletions

View File

@ -334,6 +334,7 @@ class VideoDisplay(Phonon.VideoWidget):
self.parent = parent self.parent = parent
self.screens = screens self.screens = screens
self.hidden = False self.hidden = False
self.background = False
self.mediaObject = Phonon.MediaObject() self.mediaObject = Phonon.MediaObject()
self.setAspectRatio(aspect) self.setAspectRatio(aspect)
self.audioObject = Phonon.AudioOutput(Phonon.VideoCategory) self.audioObject = Phonon.AudioOutput(Phonon.VideoCategory)
@ -357,6 +358,8 @@ class VideoDisplay(Phonon.VideoWidget):
QtCore.SIGNAL(u'videodisplay_background'), self.onMediaBackground) QtCore.SIGNAL(u'videodisplay_background'), self.onMediaBackground)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_updated'), self.setup) QtCore.SIGNAL(u'config_updated'), self.setup)
QtCore.QObject.connect(self.mediaObject,
QtCore.SIGNAL(u'finished()'), self.onMediaBackground)
self.setVisible(False) self.setVisible(False)
def keyPressEvent(self, event): def keyPressEvent(self, event):
@ -387,8 +390,12 @@ class VideoDisplay(Phonon.VideoWidget):
self.primary = True self.primary = True
def onMediaBackground(self, message): def onMediaBackground(self, message):
if not message:
message = self.message
log.debug(u'VideoDisplay Queue new media message %s' % message) log.debug(u'VideoDisplay Queue new media message %s' % message)
source = self.mediaObject.setCurrentSource(Phonon.MediaSource(message)) source = self.mediaObject.setCurrentSource(Phonon.MediaSource(message))
self.message = message
self.background = True
self._play() self._play()
def onMediaQueue(self, message): def onMediaQueue(self, message):
@ -416,6 +423,8 @@ class VideoDisplay(Phonon.VideoWidget):
def onMediaStop(self): def onMediaStop(self):
log.debug(u'VideoDisplay Media stopped by user') log.debug(u'VideoDisplay Media stopped by user')
self.background = False
self.message = None
self.mediaObject.stop() self.mediaObject.stop()
self.onMediaFinish() self.onMediaFinish()