More cleanups of slide controller and friends

This commit is contained in:
Tim Bentley 2013-02-20 20:43:20 +00:00
parent ad7d78ff26
commit ffb10c0149
6 changed files with 434 additions and 430 deletions

View File

@ -218,7 +218,7 @@ def build_html(item, screen, is_live, background, image=None, plugins=None):
``screen`` ``screen``
Current display information Current display information
``islive`` ``is_live``
Item is going live, rather than preview/theme building Item is going live, rather than preview/theme building
``background`` ``background``

View File

@ -68,7 +68,7 @@ class Display(QtGui.QGraphicsView):
self.parent = lambda: parent self.parent = lambda: parent
else: else:
QtGui.QGraphicsView.__init__(self, parent) QtGui.QGraphicsView.__init__(self, parent)
self.isLive = live self.is_live = live
self.controller = controller self.controller = controller
self.screen = {} self.screen = {}
# FIXME: On Mac OS X (tested on 10.7) the display screen is corrupt with # FIXME: On Mac OS X (tested on 10.7) the display screen is corrupt with
@ -82,7 +82,7 @@ class Display(QtGui.QGraphicsView):
""" """
Set up and build the screen base Set up and build the screen base
""" """
log.debug(u'Start Display base setup (live = %s)' % self.isLive) log.debug(u'Start Display base setup (live = %s)' % self.is_live)
self.setGeometry(self.screen[u'size']) self.setGeometry(self.screen[u'size'])
log.debug(u'Setup webView') log.debug(u'Setup webView')
self.web_view = QtWebKit.QWebView(self) self.web_view = QtWebKit.QWebView(self)
@ -94,7 +94,7 @@ class Display(QtGui.QGraphicsView):
self.web_view.setAttribute(QtCore.Qt.WA_OpaquePaintEvent, False) self.web_view.setAttribute(QtCore.Qt.WA_OpaquePaintEvent, False)
self.page = self.web_view.page() self.page = self.web_view.page()
self.frame = self.page.mainFrame() self.frame = self.page.mainFrame()
if self.isLive and log.getEffectiveLevel() == logging.DEBUG: if self.is_live and log.getEffectiveLevel() == logging.DEBUG:
self.web_view.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, True) self.web_view.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
self.web_view.loadFinished.connect(self.is_web_loaded) self.web_view.loadFinished.connect(self.is_web_loaded)
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
@ -154,7 +154,7 @@ class MainDisplay(Display):
self.setWindowFlags(windowFlags) self.setWindowFlags(windowFlags)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
self.set_transparency(False) self.set_transparency(False)
if self.isLive: if self.is_live:
Registry().register_function(u'live_display_hide', self.hide_display) Registry().register_function(u'live_display_hide', self.hide_display)
Registry().register_function(u'live_display_show', self.show_display) Registry().register_function(u'live_display_show', self.show_display)
Registry().register_function(u'update_display_css', self.css_changed) Registry().register_function(u'update_display_css', self.css_changed)
@ -197,11 +197,11 @@ class MainDisplay(Display):
""" """
Set up and build the output screen Set up and build the output screen
""" """
log.debug(u'Start MainDisplay setup (live = %s)' % self.isLive) log.debug(u'Start MainDisplay setup (live = %s)' % self.is_live)
self.screen = self.screens.current self.screen = self.screens.current
self.setVisible(False) self.setVisible(False)
Display.setup(self) Display.setup(self)
if self.isLive: if self.is_live:
# Build the initial frame. # Build the initial frame.
background_color = QtGui.QColor() background_color = QtGui.QColor()
background_color.setNamedColor(Settings().value(u'advanced/default color')) background_color.setNamedColor(Settings().value(u'advanced/default color'))
@ -222,7 +222,7 @@ class MainDisplay(Display):
splash_image) splash_image)
serviceItem = ServiceItem() serviceItem = ServiceItem()
serviceItem.bg_image_bytes = image_to_byte(self.initialFrame) serviceItem.bg_image_bytes = image_to_byte(self.initialFrame)
self.web_view.setHtml(build_html(serviceItem, self.screen, self.isLive, None, self.web_view.setHtml(build_html(serviceItem, self.screen, self.is_live, None,
plugins=self.plugin_manager.plugins)) plugins=self.plugin_manager.plugins))
self.__hideMouse() self.__hideMouse()
log.debug(u'Finished MainDisplay setup') log.debug(u'Finished MainDisplay setup')
@ -296,7 +296,7 @@ class MainDisplay(Display):
self.override[u'theme'] = self.serviceItem.themedata.background_filename self.override[u'theme'] = self.serviceItem.themedata.background_filename
self.image(path) self.image(path)
# Update the preview frame. # Update the preview frame.
if self.isLive: if self.is_live:
self.parent().updatePreview() self.parent().updatePreview()
return True return True
@ -343,10 +343,10 @@ class MainDisplay(Display):
""" """
Generates a preview of the image displayed. Generates a preview of the image displayed.
""" """
log.debug(u'preview for %s', self.isLive) log.debug(u'preview for %s', self.is_live)
self.application.process_events() self.application.process_events()
# We must have a service item to preview. # We must have a service item to preview.
if self.isLive and hasattr(self, u'serviceItem'): if self.is_live and hasattr(self, u'serviceItem'):
# Wait for the fade to finish before geting the preview. # Wait for the fade to finish before geting the preview.
# Important otherwise preview will have incorrect text if at all! # Important otherwise preview will have incorrect text if at all!
if self.serviceItem.themedata and self.serviceItem.themedata.display_slide_transition: if self.serviceItem.themedata and self.serviceItem.themedata.display_slide_transition:
@ -357,7 +357,7 @@ class MainDisplay(Display):
while not self.webLoaded: while not self.webLoaded:
self.application.process_events() self.application.process_events()
# if was hidden keep it hidden # if was hidden keep it hidden
if self.isLive: if self.is_live:
if self.hide_mode: if self.hide_mode:
self.hide_display(self.hide_mode) self.hide_display(self.hide_mode)
else: else:
@ -403,7 +403,7 @@ class MainDisplay(Display):
image_bytes = self.image_manager.get_image_bytes(image_path, ImageSource.ImagePlugin) image_bytes = self.image_manager.get_image_bytes(image_path, ImageSource.ImagePlugin)
else: else:
image_bytes = None image_bytes = None
html = build_html(self.serviceItem, self.screen, self.isLive, background, image_bytes, html = build_html(self.serviceItem, self.screen, self.is_live, background, image_bytes,
plugins=self.plugin_manager.plugins) plugins=self.plugin_manager.plugins)
log.debug(u'buildHtml - pre setHtml') log.debug(u'buildHtml - pre setHtml')
self.web_view.setHtml(html) self.web_view.setHtml(html)
@ -411,7 +411,7 @@ class MainDisplay(Display):
if serviceItem.foot_text: if serviceItem.foot_text:
self.footer(serviceItem.foot_text) self.footer(serviceItem.foot_text)
# if was hidden keep it hidden # if was hidden keep it hidden
if self.hide_mode and self.isLive and not serviceItem.is_media(): if self.hide_mode and self.is_live and not serviceItem.is_media():
if Settings().value(u'general/auto unblank'): if Settings().value(u'general/auto unblank'):
Registry().execute(u'slidecontroller_live_unblank') Registry().execute(u'slidecontroller_live_unblank')
else: else:
@ -464,7 +464,7 @@ class MainDisplay(Display):
self.setVisible(True) self.setVisible(True)
self.hide_mode = None self.hide_mode = None
# Trigger actions when display is active again. # Trigger actions when display is active again.
if self.isLive: if self.is_live:
Registry().execute(u'live_display_active') Registry().execute(u'live_display_active')
def __hideMouse(self): def __hideMouse(self):
@ -639,3 +639,9 @@ class AudioPlayer(QtCore.QObject):
self.media_object.enqueue(self.playlist[self.currentIndex]) self.media_object.enqueue(self.playlist[self.currentIndex])
if isPlaying: if isPlaying:
self.media_object.play() self.media_object.play()
def connectSlot(self, signal, slot):
"""
Connect a slot to a signal on the media object
"""
QtCore.QObject.connect(self.media_object, signal, slot)

View File

@ -257,7 +257,7 @@ class MediaController(object):
``controller`` ``controller``
The controller where a player will be placed The controller where a player will be placed
""" """
self.displayControllers[controller.controllerType] = controller self.displayControllers[controller.controller_type] = controller
self.setup_generic_controls(controller) self.setup_generic_controls(controller)
def setup_generic_controls(self, controller): def setup_generic_controls(self, controller):
@ -272,13 +272,13 @@ class MediaController(object):
controller.mediabar = OpenLPToolbar(controller) controller.mediabar = OpenLPToolbar(controller)
controller.mediabar.addToolbarAction(u'playbackPlay', text=u'media_playback_play', controller.mediabar.addToolbarAction(u'playbackPlay', text=u'media_playback_play',
icon=u':/slides/media_playback_start.png', icon=u':/slides/media_playback_start.png',
tooltip=translate('OpenLP.SlideController', 'Start playing media.'), triggers=controller.sendToPlugins) tooltip=translate('OpenLP.SlideController', 'Start playing media.'), triggers=controller.send_to_plugins)
controller.mediabar.addToolbarAction(u'playbackPause', text=u'media_playback_pause', controller.mediabar.addToolbarAction(u'playbackPause', text=u'media_playback_pause',
icon=u':/slides/media_playback_pause.png', icon=u':/slides/media_playback_pause.png',
tooltip=translate('OpenLP.SlideController', 'Pause playing media.'), triggers=controller.sendToPlugins) tooltip=translate('OpenLP.SlideController', 'Pause playing media.'), triggers=controller.send_to_plugins)
controller.mediabar.addToolbarAction(u'playbackStop', text=u'media_playback_stop', controller.mediabar.addToolbarAction(u'playbackStop', text=u'media_playback_stop',
icon=u':/slides/media_playback_stop.png', icon=u':/slides/media_playback_stop.png',
tooltip=translate('OpenLP.SlideController', 'Stop playing media.'), triggers=controller.sendToPlugins) tooltip=translate('OpenLP.SlideController', 'Stop playing media.'), triggers=controller.send_to_plugins)
# Build the seekSlider. # Build the seekSlider.
controller.seekSlider = MediaSlider(QtCore.Qt.Horizontal, self, controller) controller.seekSlider = MediaSlider(QtCore.Qt.Horizontal, self, controller)
controller.seekSlider.setMaximum(1000) controller.seekSlider.setMaximum(1000)
@ -300,11 +300,11 @@ class MediaController(object):
controller.volumeSlider.setGeometry(QtCore.QRect(90, 160, 221, 24)) controller.volumeSlider.setGeometry(QtCore.QRect(90, 160, 221, 24))
controller.volumeSlider.setObjectName(u'volumeSlider') controller.volumeSlider.setObjectName(u'volumeSlider')
controller.mediabar.addToolbarWidget(controller.volumeSlider) controller.mediabar.addToolbarWidget(controller.volumeSlider)
controller.controllerLayout.addWidget(controller.mediabar) controller.controller_layout.addWidget(controller.mediabar)
controller.mediabar.setVisible(False) controller.mediabar.setVisible(False)
# Signals # Signals
QtCore.QObject.connect(controller.seekSlider, QtCore.SIGNAL(u'valueChanged(int)'), controller.sendToPlugins) controller.seekSlider.valueChanged.connect(controller.send_to_plugins)
QtCore.QObject.connect(controller.volumeSlider, QtCore.SIGNAL(u'valueChanged(int)'), controller.sendToPlugins) controller.volumeSlider.valueChanged.connect(controller.send_to_plugins)
def setup_display(self, display, preview): def setup_display(self, display, preview):
""" """
@ -322,7 +322,7 @@ class MediaController(object):
# update player status # update player status
self._set_active_players() self._set_active_players()
display.hasAudio = True display.hasAudio = True
if display.isLive and preview: if display.is_live and preview:
return return
if preview: if preview:
display.hasAudio = False display.hasAudio = False
@ -343,9 +343,9 @@ class MediaController(object):
""" """
# Generic controls # Generic controls
controller.mediabar.setVisible(value) controller.mediabar.setVisible(value)
if controller.isLive and controller.display: if controller.is_live and controller.display:
if self.currentMediaPlayer and value: if self.currentMediaPlayer and value:
if self.currentMediaPlayer[controller.controllerType] != self.mediaPlayers[u'webkit']: if self.currentMediaPlayer[controller.controller_type] != self.mediaPlayers[u'webkit']:
controller.display.setTransparency(False) controller.display.setTransparency(False)
def resize(self, display, player): def resize(self, display, player):
@ -387,7 +387,7 @@ class MediaController(object):
controller.media_info.is_background = videoBehindText controller.media_info.is_background = videoBehindText
controller.media_info.file_info = QtCore.QFileInfo(serviceItem.get_frame_path()) controller.media_info.file_info = QtCore.QFileInfo(serviceItem.get_frame_path())
display = self._define_display(controller) display = self._define_display(controller)
if controller.isLive: if controller.is_live:
isValid = self._check_file_type(controller, display, serviceItem) isValid = self._check_file_type(controller, display, serviceItem)
display.override[u'theme'] = u'' display.override[u'theme'] = u''
display.override[u'video'] = True display.override[u'video'] = True
@ -406,12 +406,12 @@ class MediaController(object):
translate('MediaPlugin.MediaItem', 'Unsupported File')) translate('MediaPlugin.MediaItem', 'Unsupported File'))
return False return False
# dont care about actual theme, set a black background # dont care about actual theme, set a black background
if controller.isLive and not controller.media_info.is_background: if controller.is_live and not controller.media_info.is_background:
display.frame.evaluateJavaScript(u'show_video( "setBackBoard", null, null, null,"visible");') display.frame.evaluateJavaScript(u'show_video( "setBackBoard", null, null, null,"visible");')
# now start playing - Preview is autoplay! # now start playing - Preview is autoplay!
autoplay = False autoplay = False
# Preview requested # Preview requested
if not controller.isLive: if not controller.is_live:
autoplay = True autoplay = True
# Visible or background requested or Service Item wants to autostart # Visible or background requested or Service Item wants to autostart
elif not hidden or controller.media_info.is_background or serviceItem.will_auto_start: elif not hidden or controller.media_info.is_background or serviceItem.will_auto_start:
@ -425,7 +425,7 @@ class MediaController(object):
translate('MediaPlugin.MediaItem', 'Unsupported File')) translate('MediaPlugin.MediaItem', 'Unsupported File'))
return False return False
self.set_controls_visible(controller, True) self.set_controls_visible(controller, True)
log.debug(u'use %s controller' % self.currentMediaPlayer[controller.controllerType]) log.debug(u'use %s controller' % self.currentMediaPlayer[controller.controller_type])
return True return True
def media_length(self, serviceItem): def media_length(self, serviceItem):
@ -454,7 +454,7 @@ class MediaController(object):
return False return False
serviceItem.set_media_length(controller.media_info.length) serviceItem.set_media_length(controller.media_info.length)
self.media_stop(controller) self.media_stop(controller)
log.debug(u'use %s controller' % self.currentMediaPlayer[controller.controllerType]) log.debug(u'use %s controller' % self.currentMediaPlayer[controller.controller_type])
return True return True
def _check_file_type(self, controller, display, serviceItem): def _check_file_type(self, controller, display, serviceItem):
@ -479,12 +479,12 @@ class MediaController(object):
player.canBackground: player.canBackground:
self.resize(display, player) self.resize(display, player)
if player.load(display): if player.load(display):
self.currentMediaPlayer[controller.controllerType] = player self.currentMediaPlayer[controller.controller_type] = player
controller.media_info.media_type = MediaType.Video controller.media_info.media_type = MediaType.Video
return True return True
if suffix in player.audio_extensions_list: if suffix in player.audio_extensions_list:
if player.load(display): if player.load(display):
self.currentMediaPlayer[controller.controllerType] = player self.currentMediaPlayer[controller.controller_type] = player
controller.media_info.media_type = MediaType.Audio controller.media_info.media_type = MediaType.Audio
return True return True
else: else:
@ -493,7 +493,7 @@ class MediaController(object):
if player.canFolder: if player.canFolder:
self.resize(display, player) self.resize(display, player)
if player.load(display): if player.load(display):
self.currentMediaPlayer[controller.controllerType] = player self.currentMediaPlayer[controller.controller_type] = player
controller.media_info.media_type = MediaType.Video controller.media_info.media_type = MediaType.Video
return True return True
# no valid player found # no valid player found
@ -520,7 +520,7 @@ class MediaController(object):
controller.seekSlider.blockSignals(True) controller.seekSlider.blockSignals(True)
controller.volumeSlider.blockSignals(True) controller.volumeSlider.blockSignals(True)
display = self._define_display(controller) display = self._define_display(controller)
if not self.currentMediaPlayer[controller.controllerType].play(display): if not self.currentMediaPlayer[controller.controller_type].play(display):
controller.seekSlider.blockSignals(False) controller.seekSlider.blockSignals(False)
controller.volumeSlider.blockSignals(False) controller.volumeSlider.blockSignals(False)
return False return False
@ -530,7 +530,7 @@ class MediaController(object):
self.media_volume(controller, controller.media_info.volume) self.media_volume(controller, controller.media_info.volume)
if status: if status:
display.frame.evaluateJavaScript(u'show_blank("desktop");') display.frame.evaluateJavaScript(u'show_blank("desktop");')
self.currentMediaPlayer[controller.controllerType].set_visible(display, True) self.currentMediaPlayer[controller.controller_type].set_visible(display, True)
# Flash needs to be played and will not AutoPlay # Flash needs to be played and will not AutoPlay
if controller.media_info.is_flash: if controller.media_info.is_flash:
controller.mediabar.actions[u'playbackPlay'].setVisible(True) controller.mediabar.actions[u'playbackPlay'].setVisible(True)
@ -539,9 +539,9 @@ class MediaController(object):
controller.mediabar.actions[u'playbackPlay'].setVisible(False) controller.mediabar.actions[u'playbackPlay'].setVisible(False)
controller.mediabar.actions[u'playbackPause'].setVisible(True) controller.mediabar.actions[u'playbackPause'].setVisible(True)
controller.mediabar.actions[u'playbackStop'].setVisible(True) controller.mediabar.actions[u'playbackStop'].setVisible(True)
if controller.isLive: if controller.is_live:
if controller.hideMenu.defaultAction().isChecked(): if controller.hide_menu.defaultAction().isChecked():
controller.hideMenu.defaultAction().trigger() controller.hide_menu.defaultAction().trigger()
# 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()
@ -568,7 +568,7 @@ class MediaController(object):
""" """
log.debug(u'media_pause') log.debug(u'media_pause')
display = self._define_display(controller) display = self._define_display(controller)
self.currentMediaPlayer[controller.controllerType].pause(display) self.currentMediaPlayer[controller.controller_type].pause(display)
controller.mediabar.actions[u'playbackPlay'].setVisible(True) controller.mediabar.actions[u'playbackPlay'].setVisible(True)
controller.mediabar.actions[u'playbackStop'].setVisible(True) controller.mediabar.actions[u'playbackStop'].setVisible(True)
controller.mediabar.actions[u'playbackPause'].setVisible(False) controller.mediabar.actions[u'playbackPause'].setVisible(False)
@ -592,10 +592,10 @@ class MediaController(object):
""" """
log.debug(u'media_stop') log.debug(u'media_stop')
display = self._define_display(controller) display = self._define_display(controller)
if controller.controllerType in self.currentMediaPlayer: if controller.controller_type in self.currentMediaPlayer:
display.frame.evaluateJavaScript(u'show_blank("black");') display.frame.evaluateJavaScript(u'show_blank("black");')
self.currentMediaPlayer[controller.controllerType].stop(display) self.currentMediaPlayer[controller.controller_type].stop(display)
self.currentMediaPlayer[controller.controllerType].set_visible(display, False) self.currentMediaPlayer[controller.controller_type].set_visible(display, False)
controller.seekSlider.setSliderPosition(0) controller.seekSlider.setSliderPosition(0)
controller.mediabar.actions[u'playbackPlay'].setVisible(True) controller.mediabar.actions[u'playbackPlay'].setVisible(True)
controller.mediabar.actions[u'playbackStop'].setVisible(False) controller.mediabar.actions[u'playbackStop'].setVisible(False)
@ -621,7 +621,7 @@ class MediaController(object):
""" """
log.debug(u'media_volume %d' % volume) log.debug(u'media_volume %d' % volume)
display = self._define_display(controller) display = self._define_display(controller)
self.currentMediaPlayer[controller.controllerType].volume(display, volume) self.currentMediaPlayer[controller.controller_type].volume(display, volume)
controller.volumeSlider.setValue(volume) controller.volumeSlider.setValue(volume)
def media_seek_msg(self, msg): def media_seek_msg(self, msg):
@ -647,7 +647,7 @@ class MediaController(object):
""" """
log.debug(u'media_seek') log.debug(u'media_seek')
display = self._define_display(controller) display = self._define_display(controller)
self.currentMediaPlayer[controller.controllerType].seek(display, seekVal) self.currentMediaPlayer[controller.controller_type].seek(display, seekVal)
def media_reset(self, controller): def media_reset(self, controller):
""" """
@ -656,12 +656,12 @@ class MediaController(object):
log.debug(u'media_reset') log.debug(u'media_reset')
self.set_controls_visible(controller, False) self.set_controls_visible(controller, False)
display = self._define_display(controller) display = self._define_display(controller)
if controller.controllerType in self.currentMediaPlayer: if controller.controller_type in self.currentMediaPlayer:
display.override = {} display.override = {}
self.currentMediaPlayer[controller.controllerType].reset(display) self.currentMediaPlayer[controller.controller_type].reset(display)
self.currentMediaPlayer[controller.controllerType].set_visible(display, False) self.currentMediaPlayer[controller.controller_type].set_visible(display, False)
display.frame.evaluateJavaScript(u'show_video( "setBackBoard", null, null, null,"hidden");') display.frame.evaluateJavaScript(u'show_video( "setBackBoard", null, null, null,"hidden");')
del self.currentMediaPlayer[controller.controllerType] del self.currentMediaPlayer[controller.controller_type]
def media_hide(self, msg): def media_hide(self, msg):
""" """
@ -670,15 +670,15 @@ class MediaController(object):
``msg`` ``msg``
First element is the boolean for Live indication First element is the boolean for Live indication
""" """
isLive = msg[1] is_live = msg[1]
if not isLive: if not is_live:
return return
controller = self.mainWindow.liveController controller = self.mainWindow.liveController
display = self._define_display(controller) display = self._define_display(controller)
if controller.controllerType in self.currentMediaPlayer and \ if controller.controller_type in self.currentMediaPlayer and \
self.currentMediaPlayer[controller.controllerType].state == MediaState.Playing: self.currentMediaPlayer[controller.controller_type].state == MediaState.Playing:
self.currentMediaPlayer[controller.controllerType].pause(display) self.currentMediaPlayer[controller.controller_type].pause(display)
self.currentMediaPlayer[controller.controllerType].set_visible(display, False) self.currentMediaPlayer[controller.controller_type].set_visible(display, False)
def media_blank(self, msg): def media_blank(self, msg):
""" """
@ -688,16 +688,16 @@ class MediaController(object):
First element is the boolean for Live indication First element is the boolean for Live indication
Second element is the hide mode Second element is the hide mode
""" """
isLive = msg[1] is_live = msg[1]
hide_mode = msg[2] hide_mode = msg[2]
if not isLive: if not is_live:
return return
Registry().execute(u'live_display_hide', hide_mode) Registry().execute(u'live_display_hide', hide_mode)
controller = self.mainWindow.liveController controller = self.mainWindow.liveController
display = self._define_display(controller) display = self._define_display(controller)
if self.currentMediaPlayer[controller.controllerType].state == MediaState.Playing: if self.currentMediaPlayer[controller.controller_type].state == MediaState.Playing:
self.currentMediaPlayer[controller.controllerType].pause(display) self.currentMediaPlayer[controller.controller_type].pause(display)
self.currentMediaPlayer[controller.controllerType].set_visible(display, False) self.currentMediaPlayer[controller.controller_type].set_visible(display, False)
def media_unblank(self, msg): def media_unblank(self, msg):
""" """
@ -708,15 +708,15 @@ class MediaController(object):
Second element is the boolean for Live indication Second element is the boolean for Live indication
""" """
Registry().execute(u'live_display_show') Registry().execute(u'live_display_show')
isLive = msg[1] is_live = msg[1]
if not isLive: if not is_live:
return return
controller = self.mainWindow.liveController controller = self.mainWindow.liveController
display = self._define_display(controller) display = self._define_display(controller)
if controller.controllerType in self.currentMediaPlayer and \ if controller.controller_type in self.currentMediaPlayer and \
self.currentMediaPlayer[controller.controllerType].state != MediaState.Playing: self.currentMediaPlayer[controller.controller_type].state != MediaState.Playing:
if self.currentMediaPlayer[controller.controllerType].play(display): if self.currentMediaPlayer[controller.controller_type].play(display):
self.currentMediaPlayer[controller.controllerType].set_visible(display, True) self.currentMediaPlayer[controller.controller_type].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()
@ -736,9 +736,9 @@ class MediaController(object):
``controller`` ``controller``
Controller to be used Controller to be used
""" """
if controller.isLive: if controller.is_live:
return controller.display return controller.display
return controller.previewDisplay return controller.preview_display
def _get_service_manager(self): def _get_service_manager(self):
""" """

View File

@ -122,7 +122,7 @@ class VlcPlayer(MediaPlayer):
command_line_options = u'--no-video-title-show' command_line_options = u'--no-video-title-show'
if not display.hasAudio: if not display.hasAudio:
command_line_options += u' --no-audio --no-video-title-show' command_line_options += u' --no-audio --no-video-title-show'
if Settings().value(u'advanced/hide mouse') and display.controller.isLive: if Settings().value(u'advanced/hide mouse') and display.controller.is_live:
command_line_options += u' --mouse-hide-timeout=0' command_line_options += u' --mouse-hide-timeout=0'
display.vlcInstance = vlc.Instance(command_line_options) display.vlcInstance = vlc.Instance(command_line_options)
display.vlcInstance.set_log_verbosity(2) display.vlcInstance.set_log_verbosity(2)

File diff suppressed because it is too large Load Diff

View File

@ -61,16 +61,16 @@ class MediaMediaItem(MediaManagerItem):
self.singleServiceItem = False self.singleServiceItem = False
self.hasSearch = True self.hasSearch = True
self.mediaObject = None self.mediaObject = None
self.displayController = DisplayController(parent) self.display_controller = DisplayController(parent)
self.displayController.controllerLayout = QtGui.QVBoxLayout() self.display_controller.controller_layout = QtGui.QVBoxLayout()
self.media_controller.register_controller(self.displayController) self.media_controller.register_controller(self.display_controller)
self.media_controller.set_controls_visible(self.displayController, False) self.media_controller.set_controls_visible(self.display_controller, False)
self.displayController.previewDisplay = Display(self.displayController, False, self.displayController) self.display_controller.preview_display = Display(self.display_controller, False, self.display_controller)
self.displayController.previewDisplay.hide() self.display_controller.preview_display.hide()
self.displayController.previewDisplay.setGeometry(QtCore.QRect(0, 0, 300, 300)) self.display_controller.preview_display.setGeometry(QtCore.QRect(0, 0, 300, 300))
self.displayController.previewDisplay.screen = {u'size':self.displayController.previewDisplay.geometry()} self.display_controller.preview_display.screen = {u'size': self.display_controller.preview_display.geometry()}
self.displayController.previewDisplay.setup() self.display_controller.preview_display.setup()
self.media_controller.setup_display(self.displayController.previewDisplay, False) self.media_controller.setup_display(self.display_controller.preview_display, False)
Registry().register_function(u'video_background_replaced', self.video_background_replaced) Registry().register_function(u'video_background_replaced', self.video_background_replaced)
Registry().register_function(u'mediaitem_media_rebuild', self.rebuild_players) Registry().register_function(u'mediaitem_media_rebuild', self.rebuild_players)
Registry().register_function(u'config_screen_changed', self.display_setup) Registry().register_function(u'config_screen_changed', self.display_setup)
@ -214,7 +214,7 @@ class MediaMediaItem(MediaManagerItem):
u' '.join(self.media_controller.audio_extensions_list), UiStrings().AllFiles) u' '.join(self.media_controller.audio_extensions_list), UiStrings().AllFiles)
def display_setup(self): def display_setup(self):
self.media_controller.setup_display(self.displayController.previewDisplay, False) self.media_controller.setup_display(self.display_controller.previewDisplay, False)
def populateDisplayTypes(self): def populateDisplayTypes(self):
""" """