1
0
mirror of https://gitlab.com/openlp/openlp.git synced 2024-09-28 10:57:36 +00:00
This commit is contained in:
rimach 2011-09-28 22:54:43 +02:00
parent d88f437ffc
commit c299efab1a
4 changed files with 26 additions and 10 deletions

View File

@ -76,6 +76,11 @@ class MediaController(object):
QtCore.SIGNAL(u'media_unblank'), self.video_unblank) QtCore.SIGNAL(u'media_unblank'), self.video_unblank)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'media_overrideApi'), self.override_api) QtCore.SIGNAL(u'media_overrideApi'), self.override_api)
# Signals for background video
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'songs_hide'), self.video_hide)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'songs_unblank'), self.video_unblank)
def register_controllers(self, controller): def register_controllers(self, controller):
""" """
@ -275,11 +280,14 @@ class MediaController(object):
'Unsupported File'))) 'Unsupported File')))
return False return False
# now start playing # now start playing
if self.video_play([controller]): if self.video_play([controller], False):
self.video_pause([controller]) self.video_pause([controller])
self.video_seek([controller, [0]]) self.video_seek([controller, [0]])
if controller.isLive and QtCore.QSettings().value(u'general/auto unblank', if controller.isLive and \
QtCore.QVariant(False)).toBool(): (QtCore.QSettings().value(u'general/auto unblank',
QtCore.QVariant(False)).toBool() or \
controller.media_info.is_background == True) or \
controller.isLive == False:
self.video_play([controller]) self.video_play([controller])
self.set_controls_visible(controller, True) self.set_controls_visible(controller, True)
log.debug(u'use %s controller' % self.curDisplayMediaAPI[display]) log.debug(u'use %s controller' % self.curDisplayMediaAPI[display])
@ -332,7 +340,7 @@ class MediaController(object):
# no valid api found # no valid api found
return False return False
def video_play(self, msg): def video_play(self, msg, status=True):
""" """
Responds to the request to play a loaded video Responds to the request to play a loaded video
""" """
@ -345,7 +353,8 @@ class MediaController(object):
controller.hideMenu.defaultAction().trigger() controller.hideMenu.defaultAction().trigger()
if not self.curDisplayMediaAPI[display].play(display): if not self.curDisplayMediaAPI[display].play(display):
return False return False
self.curDisplayMediaAPI[display].set_visible(display, True) if status:
self.curDisplayMediaAPI[display].set_visible(display, True)
# Start Timer for ui updates # Start Timer for ui updates
if not self.timer.isActive(): if not self.timer.isActive():
self.timer.start() self.timer.start()
@ -452,6 +461,10 @@ class MediaController(object):
if self.curDisplayMediaAPI[display].play(display): if self.curDisplayMediaAPI[display].play(display):
self.curDisplayMediaAPI[display] \ self.curDisplayMediaAPI[display] \
.set_visible(display, True) .set_visible(display, True)
# Start Timer for ui updates
if not self.timer.isActive():
self.timer.start()
def get_audio_extensions_list(self): def get_audio_extensions_list(self):
audio_list = [] audio_list = []

View File

@ -39,7 +39,7 @@ log = logging.getLogger(__name__)
class PhononAPI(MediaAPI): class PhononAPI(MediaAPI):
""" """
A specialised version of the MediaAPI class, A specialised version of the MediaAPI class,
which provides a Phonon display. which provides a Phonon display.
""" """
@ -170,7 +170,6 @@ class PhononAPI(MediaAPI):
int(display.mediaObject.totalTime()/1000) int(display.mediaObject.totalTime()/1000)
controller.seekSlider.setMaximum(controller.media_info.length*1000) controller.seekSlider.setMaximum(controller.media_info.length*1000)
self.state = MediaState.Playing self.state = MediaState.Playing
#self.set_visible(display, True)
return True return True
else: else:
return False return False

View File

@ -115,8 +115,9 @@ video_js = u"""
current_video = '2'; current_video = '2';
else else
current_video = '1'; current_video = '1';
show_video('play');
show_video('load'); show_video('load');
show_video('play');
show_video('setVisible',null,null,null,'visible');
break; break;
case 'close': case 'close':
show_video('stop'); show_video('stop');

View File

@ -539,12 +539,15 @@ class SlideController(Controller):
if item.is_capable(ItemCapabilities.CanEdit) and item.from_plugin: if item.is_capable(ItemCapabilities.CanEdit) and item.from_plugin:
self.toolbar.makeWidgetsVisible(self.songEditList) self.toolbar.makeWidgetsVisible(self.songEditList)
elif item.is_media(): elif item.is_media():
self.toolbar.setVisible(False) #self.toolbar.setVisible(False)
self.mediabar.setVisible(True) self.mediabar.setVisible(True)
self.previousItem.setVisible(False)
self.nextItem.setVisible(False)
if not item.is_media(): if not item.is_media():
# Work-around for OS X, hide and then show the toolbar # Work-around for OS X, hide and then show the toolbar
# See bug #791050 # See bug #791050
self.toolbar.show() self.previousItem.setVisible(True)
self.nextItem.setVisible(True)
self.toolbar.show() self.toolbar.show()
def refreshServiceItem(self): def refreshServiceItem(self):