Enable consecutive video playing

bzr-revno: 648
This commit is contained in:
Jon Tibble 2009-11-02 13:46:26 +00:00
commit a1d29862a4
2 changed files with 16 additions and 5 deletions

View File

@ -105,6 +105,7 @@ class MainDisplay(DisplayLabel):
self.alertTab = None self.alertTab = None
self.timer_id = 0 self.timer_id = 0
self.firstTime = True self.firstTime = True
self.mediaLoaded = False
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'live_slide_blank'), self.blankDisplay) QtCore.SIGNAL(u'live_slide_blank'), self.blankDisplay)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
@ -122,7 +123,7 @@ class MainDisplay(DisplayLabel):
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'media_pause'), self.onMediaPaws) QtCore.SIGNAL(u'media_pause'), self.onMediaPaws)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'media_stop'), self.onMediaFinish) QtCore.SIGNAL(u'media_stop'), self.onMediaStop)
def setup(self, screenNumber): def setup(self, screenNumber):
@ -204,6 +205,10 @@ class MainDisplay(DisplayLabel):
self.displayBlank = False self.displayBlank = False
if self.frame is not None: if self.frame is not None:
self.frameView(self.frame) self.frameView(self.frame)
if self.parent.LiveController.blackPushButton.isChecked() != \
self.displayBlank:
self.parent.LiveController.blackPushButton.setChecked(
self.displayBlank)
self.parent.generalConfig.set_config(u'Screen Blank',self.displayBlank) self.parent.generalConfig.set_config(u'Screen Blank',self.displayBlank)
def displayAlert(self, text=u''): def displayAlert(self, text=u''):
@ -245,7 +250,6 @@ class MainDisplay(DisplayLabel):
self.timer_id = 0 self.timer_id = 0
def onMediaQueue(self, message): def onMediaQueue(self, message):
self.display.close()
file = os.path.join(message[1], message[2]) file = os.path.join(message[1], message[2])
if self.firstTime: if self.firstTime:
self.mediaObject.setCurrentSource(Phonon.MediaSource(file)) self.mediaObject.setCurrentSource(Phonon.MediaSource(file))
@ -255,6 +259,10 @@ class MainDisplay(DisplayLabel):
self.onMediaPlay() self.onMediaPlay()
def onMediaPlay(self): def onMediaPlay(self):
if not self.mediaLoaded and not self.displayBlank:
self.blankDisplay()
self.firstTime = True
self.mediaLoaded = True
self.display.hide() self.display.hide()
self.mediaObject.play() self.mediaObject.play()
self.setVisible(True) self.setVisible(True)
@ -262,9 +270,12 @@ class MainDisplay(DisplayLabel):
def onMediaPaws(self): def onMediaPaws(self):
self.mediaObject.pause() self.mediaObject.pause()
def onMediaStop(self):
self.mediaObject.stop()
self.display.show()
def onMediaFinish(self): def onMediaFinish(self):
self.setVisible(False)
self.mediaObject.stop() self.mediaObject.stop()
self.mediaObject.clearQueue() self.mediaObject.clearQueue()
self.video.close() self.mediaLoaded = False
self.display.show() self.display.show()

View File

@ -241,7 +241,7 @@ class SlideController(QtGui.QWidget):
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected) QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
if isLive: if isLive:
QtCore.QObject.connect(self.blackPushButton, QtCore.QObject.connect(self.blackPushButton,
QtCore.SIGNAL(u'toggled(bool)'), self.onBlankScreen) QtCore.SIGNAL(u'clicked(bool)'), self.onBlankScreen)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'update_spin_delay'), self.receiveSpinDelay) QtCore.SIGNAL(u'update_spin_delay'), self.receiveSpinDelay)
Receiver().send_message(u'request_spin_delay') Receiver().send_message(u'request_spin_delay')