forked from openlp/openlp
renamed mediaObject, fixed songVerseMenu
This commit is contained in:
parent
86efc5629c
commit
c403e78684
@ -52,7 +52,7 @@ class FormattingTagForm(QtGui.QDialog, Ui_FormattingTagDialog):
|
|||||||
self.new_push_button.clicked.connect(self.on_new_clicked)
|
self.new_push_button.clicked.connect(self.on_new_clicked)
|
||||||
self.save_push_button.clicked.connect(self.on_saved_clicked)
|
self.save_push_button.clicked.connect(self.on_saved_clicked)
|
||||||
self.delete_push_button.clicked.connect(self.on_delete_clicked)
|
self.delete_push_button.clicked.connect(self.on_delete_clicked)
|
||||||
self.button_boxrejected.connect(self.close)
|
self.button_box.rejected.connect(self.close)
|
||||||
self.description_line_edit.textEdited.connect(self.on_text_edited)
|
self.description_line_edit.textEdited.connect(self.on_text_edited)
|
||||||
self.tag_line_edit.textEdited.connect(self.on_text_edited)
|
self.tag_line_edit.textEdited.connect(self.on_text_edited)
|
||||||
self.start_tag_line_edit.textEdited.connect(self.on_text_edited)
|
self.start_tag_line_edit.textEdited.connect(self.on_text_edited)
|
||||||
|
@ -132,26 +132,26 @@ class MainDisplay(Display):
|
|||||||
self.retranslateUi()
|
self.retranslateUi()
|
||||||
self.media_object = None
|
self.media_object = None
|
||||||
if live:
|
if live:
|
||||||
self.audioPlayer = AudioPlayer(self)
|
self.audio_player = AudioPlayer(self)
|
||||||
else:
|
else:
|
||||||
self.audioPlayer = None
|
self.audio_player = None
|
||||||
self.firstTime = True
|
self.first_time = True
|
||||||
self.webLoaded = True
|
self.web_loaded = True
|
||||||
self.setStyleSheet(u'border: 0px; margin: 0px; padding: 0px;')
|
self.setStyleSheet(u'border: 0px; margin: 0px; padding: 0px;')
|
||||||
windowFlags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | QtCore.Qt.WindowStaysOnTopHint
|
window_flags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | QtCore.Qt.WindowStaysOnTopHint
|
||||||
if Settings().value(u'advanced/x11 bypass wm'):
|
if Settings().value(u'advanced/x11 bypass wm'):
|
||||||
windowFlags |= QtCore.Qt.X11BypassWindowManagerHint
|
window_flags |= QtCore.Qt.X11BypassWindowManagerHint
|
||||||
# TODO: The following combination of windowFlags works correctly
|
# TODO: The following combination of window_flags works correctly
|
||||||
# on Mac OS X. For next OpenLP version we should test it on other
|
# on Mac OS X. For next OpenLP version we should test it on other
|
||||||
# platforms. For OpenLP 2.0 keep it only for OS X to not cause any
|
# platforms. For OpenLP 2.0 keep it only for OS X to not cause any
|
||||||
# regressions on other platforms.
|
# regressions on other platforms.
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
windowFlags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Window
|
window_flags = QtCore.Qt.FramelessWindowHint | QtCore.Qt.Window
|
||||||
# For primary screen ensure it stays above the OS X dock
|
# For primary screen ensure it stays above the OS X dock
|
||||||
# and menu bar
|
# and menu bar
|
||||||
if self.screens.current[u'primary']:
|
if self.screens.current[u'primary']:
|
||||||
self.setWindowState(QtCore.Qt.WindowFullScreen)
|
self.setWindowState(QtCore.Qt.WindowFullScreen)
|
||||||
self.setWindowFlags(windowFlags)
|
self.setWindowFlags(window_flags)
|
||||||
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
||||||
self.set_transparency(False)
|
self.set_transparency(False)
|
||||||
if self.is_live:
|
if self.is_live:
|
||||||
@ -209,19 +209,19 @@ class MainDisplay(Display):
|
|||||||
background_color = QtCore.Qt.white
|
background_color = QtCore.Qt.white
|
||||||
image_file = Settings().value(u'advanced/default image')
|
image_file = Settings().value(u'advanced/default image')
|
||||||
splash_image = QtGui.QImage(image_file)
|
splash_image = QtGui.QImage(image_file)
|
||||||
self.initialFrame = QtGui.QImage(
|
self.initial_fame = QtGui.QImage(
|
||||||
self.screen[u'size'].width(),
|
self.screen[u'size'].width(),
|
||||||
self.screen[u'size'].height(),
|
self.screen[u'size'].height(),
|
||||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||||
painter_image = QtGui.QPainter()
|
painter_image = QtGui.QPainter()
|
||||||
painter_image.begin(self.initialFrame)
|
painter_image.begin(self.initial_fame)
|
||||||
painter_image.fillRect(self.initialFrame.rect(), background_color)
|
painter_image.fillRect(self.initial_fame.rect(), background_color)
|
||||||
painter_image.drawImage(
|
painter_image.drawImage(
|
||||||
(self.screen[u'size'].width() - splash_image.width()) / 2,
|
(self.screen[u'size'].width() - splash_image.width()) / 2,
|
||||||
(self.screen[u'size'].height() - splash_image.height()) / 2,
|
(self.screen[u'size'].height() - splash_image.height()) / 2,
|
||||||
splash_image)
|
splash_image)
|
||||||
service_item = ServiceItem()
|
service_item = ServiceItem()
|
||||||
service_item.bg_image_bytes = image_to_byte(self.initialFrame)
|
service_item.bg_image_bytes = image_to_byte(self.initial_fame)
|
||||||
self.web_view.setHtml(build_html(service_item, self.screen, self.is_live, None,
|
self.web_view.setHtml(build_html(service_item, self.screen, self.is_live, None,
|
||||||
plugins=self.plugin_manager.plugins))
|
plugins=self.plugin_manager.plugins))
|
||||||
self.__hideMouse()
|
self.__hideMouse()
|
||||||
@ -239,7 +239,7 @@ class MainDisplay(Display):
|
|||||||
"""
|
"""
|
||||||
log.debug(u'text to display')
|
log.debug(u'text to display')
|
||||||
# Wait for the webview to update before displaying text.
|
# Wait for the webview to update before displaying text.
|
||||||
while not self.webLoaded:
|
while not self.web_loaded:
|
||||||
self.application.process_events()
|
self.application.process_events()
|
||||||
self.setGeometry(self.screen[u'size'])
|
self.setGeometry(self.screen[u'size'])
|
||||||
if animate:
|
if animate:
|
||||||
@ -355,7 +355,7 @@ class MainDisplay(Display):
|
|||||||
self.application.process_events()
|
self.application.process_events()
|
||||||
# Wait for the webview to update before getting the preview.
|
# Wait for the webview to update before getting the preview.
|
||||||
# Important otherwise first preview will miss the background !
|
# Important otherwise first preview will miss the background !
|
||||||
while not self.webLoaded:
|
while not self.web_loaded:
|
||||||
self.application.process_events()
|
self.application.process_events()
|
||||||
# if was hidden keep it hidden
|
# if was hidden keep it hidden
|
||||||
if self.is_live:
|
if self.is_live:
|
||||||
@ -379,8 +379,8 @@ class MainDisplay(Display):
|
|||||||
HTML to the display
|
HTML to the display
|
||||||
"""
|
"""
|
||||||
log.debug(u'build_html')
|
log.debug(u'build_html')
|
||||||
self.webLoaded = False
|
self.web_loaded = False
|
||||||
self.initialFrame = None
|
self.initial_fame = None
|
||||||
self.service_item = service_item
|
self.service_item = service_item
|
||||||
background = None
|
background = None
|
||||||
# We have an image override so keep the image till the theme changes.
|
# We have an image override so keep the image till the theme changes.
|
||||||
@ -442,7 +442,7 @@ class MainDisplay(Display):
|
|||||||
if mode == HideMode.Screen:
|
if mode == HideMode.Screen:
|
||||||
self.frame.evaluateJavaScript(u'show_blank("desktop");')
|
self.frame.evaluateJavaScript(u'show_blank("desktop");')
|
||||||
self.setVisible(False)
|
self.setVisible(False)
|
||||||
elif mode == HideMode.Blank or self.initialFrame:
|
elif mode == HideMode.Blank or self.initial_fame:
|
||||||
self.frame.evaluateJavaScript(u'show_blank("black");')
|
self.frame.evaluateJavaScript(u'show_blank("black");')
|
||||||
else:
|
else:
|
||||||
self.frame.evaluateJavaScript(u'show_blank("theme");')
|
self.frame.evaluateJavaScript(u'show_blank("theme");')
|
||||||
|
@ -128,11 +128,11 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
display.phononWidget = Phonon.VideoWidget(display)
|
display.phononWidget = Phonon.VideoWidget(display)
|
||||||
display.phononWidget.resize(display.size())
|
display.phononWidget.resize(display.size())
|
||||||
display.mediaObject = Phonon.MediaObject(display)
|
display.media_object = Phonon.MediaObject(display)
|
||||||
Phonon.createPath(display.mediaObject, display.phononWidget)
|
Phonon.createPath(display.media_object, display.phononWidget)
|
||||||
if display.hasAudio:
|
if display.hasAudio:
|
||||||
display.audio = Phonon.AudioOutput(Phonon.VideoCategory, display.mediaObject)
|
display.audio = Phonon.AudioOutput(Phonon.VideoCategory, display.media_object)
|
||||||
Phonon.createPath(display.mediaObject, display.audio)
|
Phonon.createPath(display.media_object, display.audio)
|
||||||
display.phononWidget.raise_()
|
display.phononWidget.raise_()
|
||||||
display.phononWidget.hide()
|
display.phononWidget.hide()
|
||||||
self.hasOwnWidget = True
|
self.hasOwnWidget = True
|
||||||
@ -151,7 +151,7 @@ class PhononPlayer(MediaPlayer):
|
|||||||
controller = display.controller
|
controller = display.controller
|
||||||
volume = controller.media_info.volume
|
volume = controller.media_info.volume
|
||||||
path = controller.media_info.file_info.absoluteFilePath()
|
path = controller.media_info.file_info.absoluteFilePath()
|
||||||
display.mediaObject.setCurrentSource(Phonon.MediaSource(path))
|
display.media_object.setCurrentSource(Phonon.MediaSource(path))
|
||||||
if not self.media_state_wait(display, Phonon.StoppedState):
|
if not self.media_state_wait(display, Phonon.StoppedState):
|
||||||
return False
|
return False
|
||||||
self.volume(display, volume)
|
self.volume(display, volume)
|
||||||
@ -163,9 +163,9 @@ class PhononPlayer(MediaPlayer):
|
|||||||
Wait no longer than 5 seconds.
|
Wait no longer than 5 seconds.
|
||||||
"""
|
"""
|
||||||
start = datetime.now()
|
start = datetime.now()
|
||||||
current_state = display.mediaObject.state()
|
current_state = display.media_object.state()
|
||||||
while current_state != mediaState:
|
while current_state != mediaState:
|
||||||
current_state = display.mediaObject.state()
|
current_state = display.media_object.state()
|
||||||
if current_state == Phonon.ErrorState:
|
if current_state == Phonon.ErrorState:
|
||||||
return False
|
return False
|
||||||
self.application.process_events()
|
self.application.process_events()
|
||||||
@ -185,16 +185,16 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
controller = display.controller
|
controller = display.controller
|
||||||
start_time = 0
|
start_time = 0
|
||||||
if display.mediaObject.state() != Phonon.PausedState and \
|
if display.media_object.state() != Phonon.PausedState and \
|
||||||
controller.media_info.start_time > 0:
|
controller.media_info.start_time > 0:
|
||||||
start_time = controller.media_info.start_time
|
start_time = controller.media_info.start_time
|
||||||
display.mediaObject.play()
|
display.media_object.play()
|
||||||
if not self.media_state_wait(display, Phonon.PlayingState):
|
if not self.media_state_wait(display, Phonon.PlayingState):
|
||||||
return False
|
return False
|
||||||
if start_time > 0:
|
if start_time > 0:
|
||||||
self.seek(display, controller.media_info.start_time * 1000)
|
self.seek(display, controller.media_info.start_time * 1000)
|
||||||
self.volume(display, controller.media_info.volume)
|
self.volume(display, controller.media_info.volume)
|
||||||
controller.media_info.length = int(display.mediaObject.totalTime() / 1000)
|
controller.media_info.length = int(display.media_object.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
|
||||||
display.phononWidget.raise_()
|
display.phononWidget.raise_()
|
||||||
@ -204,7 +204,7 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
Pause the current media item
|
Pause the current media item
|
||||||
"""
|
"""
|
||||||
display.mediaObject.pause()
|
display.media_object.pause()
|
||||||
if self.media_state_wait(display, Phonon.PausedState):
|
if self.media_state_wait(display, Phonon.PausedState):
|
||||||
self.state = MediaState.Paused
|
self.state = MediaState.Paused
|
||||||
|
|
||||||
@ -212,7 +212,7 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
Stop the current media item
|
Stop the current media item
|
||||||
"""
|
"""
|
||||||
display.mediaObject.stop()
|
display.media_object.stop()
|
||||||
self.set_visible(display, False)
|
self.set_visible(display, False)
|
||||||
self.state = MediaState.Stopped
|
self.state = MediaState.Stopped
|
||||||
|
|
||||||
@ -229,14 +229,14 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
Go to a particular point in the current media item
|
Go to a particular point in the current media item
|
||||||
"""
|
"""
|
||||||
display.mediaObject.seek(seekVal)
|
display.media_object.seek(seekVal)
|
||||||
|
|
||||||
def reset(self, display):
|
def reset(self, display):
|
||||||
"""
|
"""
|
||||||
Reset the media player
|
Reset the media player
|
||||||
"""
|
"""
|
||||||
display.mediaObject.stop()
|
display.media_object.stop()
|
||||||
display.mediaObject.clearQueue()
|
display.media_object.clearQueue()
|
||||||
self.set_visible(display, False)
|
self.set_visible(display, False)
|
||||||
display.phononWidget.setVisible(False)
|
display.phononWidget.setVisible(False)
|
||||||
self.state = MediaState.Off
|
self.state = MediaState.Off
|
||||||
@ -252,16 +252,16 @@ class PhononPlayer(MediaPlayer):
|
|||||||
"""
|
"""
|
||||||
Update the UI
|
Update the UI
|
||||||
"""
|
"""
|
||||||
if display.mediaObject.state() == Phonon.PausedState and self.state != MediaState.Paused:
|
if display.media_object.state() == Phonon.PausedState and self.state != MediaState.Paused:
|
||||||
self.stop(display)
|
self.stop(display)
|
||||||
controller = display.controller
|
controller = display.controller
|
||||||
if controller.media_info.end_time > 0:
|
if controller.media_info.end_time > 0:
|
||||||
if display.mediaObject.currentTime() > controller.media_info.end_time * 1000:
|
if display.media_object.currentTime() > controller.media_info.end_time * 1000:
|
||||||
self.stop(display)
|
self.stop(display)
|
||||||
self.set_visible(display, False)
|
self.set_visible(display, False)
|
||||||
if not controller.seekSlider.isSliderDown():
|
if not controller.seekSlider.isSliderDown():
|
||||||
controller.seekSlider.blockSignals(True)
|
controller.seekSlider.blockSignals(True)
|
||||||
controller.seekSlider.setSliderPosition(display.mediaObject.currentTime())
|
controller.seekSlider.setSliderPosition(display.media_object.currentTime())
|
||||||
controller.seekSlider.blockSignals(False)
|
controller.seekSlider.blockSignals(False)
|
||||||
|
|
||||||
def get_media_display_css(self):
|
def get_media_display_css(self):
|
||||||
|
@ -293,7 +293,7 @@ class SlideController(DisplayController):
|
|||||||
self.audio_time_label.setObjectName(u'audio_time_label')
|
self.audio_time_label.setObjectName(u'audio_time_label')
|
||||||
self.toolbar.addToolbarWidget(self.audio_time_label)
|
self.toolbar.addToolbarWidget(self.audio_time_label)
|
||||||
self.toolbar.setWidgetVisible(self.audio_list, False)
|
self.toolbar.setWidgetVisible(self.audio_list, False)
|
||||||
self.toolbar.setWidgetVisible([u'songMenu'], False)
|
self.toolbar.setWidgetVisible([u'song_menu'], False)
|
||||||
# Screen preview area
|
# Screen preview area
|
||||||
self.preview_frame = QtGui.QFrame(self.splitter)
|
self.preview_frame = QtGui.QFrame(self.splitter)
|
||||||
self.preview_frame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio))
|
self.preview_frame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio))
|
||||||
@ -524,7 +524,7 @@ class SlideController(DisplayController):
|
|||||||
self.display.setup()
|
self.display.setup()
|
||||||
if self.is_live:
|
if self.is_live:
|
||||||
self.__addActionsToWidget(self.display)
|
self.__addActionsToWidget(self.display)
|
||||||
self.display.audioPlayer.connectSlot(QtCore.SIGNAL(u'tick(qint64)'), self.on_audio_time_remaining)
|
self.display.audio_player.connectSlot(QtCore.SIGNAL(u'tick(qint64)'), self.on_audio_time_remaining)
|
||||||
# The SlidePreview's ratio.
|
# The SlidePreview's ratio.
|
||||||
try:
|
try:
|
||||||
self.ratio = float(self.screens.current[u'size'].width()) / float(self.screens.current[u'size'].height())
|
self.ratio = float(self.screens.current[u'size'].width()) / float(self.screens.current[u'size'].height())
|
||||||
@ -639,7 +639,7 @@ class SlideController(DisplayController):
|
|||||||
self.mediabar.hide()
|
self.mediabar.hide()
|
||||||
self.song_menu.hide()
|
self.song_menu.hide()
|
||||||
self.toolbar.setWidgetVisible(self.loop_list, False)
|
self.toolbar.setWidgetVisible(self.loop_list, False)
|
||||||
self.toolbar.setWidgetVisible([u'songMenu'], False)
|
self.toolbar.setWidgetVisible([u'song_menu'], False)
|
||||||
# Reset the button
|
# Reset the button
|
||||||
self.play_slides_once.setChecked(False)
|
self.play_slides_once.setChecked(False)
|
||||||
self.play_slides_once.setIcon(build_icon(u':/media/media_time.png'))
|
self.play_slides_once.setIcon(build_icon(u':/media/media_time.png'))
|
||||||
@ -647,7 +647,7 @@ class SlideController(DisplayController):
|
|||||||
self.play_slides_loop.setIcon(build_icon(u':/media/media_time.png'))
|
self.play_slides_loop.setIcon(build_icon(u':/media/media_time.png'))
|
||||||
if item.is_text():
|
if item.is_text():
|
||||||
if Settings().value(self.main_window.songsSettingsSection + u'/display songbar') and self.slideList:
|
if Settings().value(self.main_window.songsSettingsSection + u'/display songbar') and self.slideList:
|
||||||
self.toolbar.setWidgetVisible([u'songMenu'], True)
|
self.toolbar.setWidgetVisible([u'song_menu'], True)
|
||||||
if item.is_capable(ItemCapabilities.CanLoop) and len(item.get_frames()) > 1:
|
if item.is_capable(ItemCapabilities.CanLoop) and len(item.get_frames()) > 1:
|
||||||
self.toolbar.setWidgetVisible(self.loop_list)
|
self.toolbar.setWidgetVisible(self.loop_list)
|
||||||
if item.is_media():
|
if item.is_media():
|
||||||
@ -754,25 +754,25 @@ class SlideController(DisplayController):
|
|||||||
self.preview_list_widget.setColumnWidth(0, width)
|
self.preview_list_widget.setColumnWidth(0, width)
|
||||||
if self.is_live:
|
if self.is_live:
|
||||||
self.song_menu.menu().clear()
|
self.song_menu.menu().clear()
|
||||||
self.display.audioPlayer.reset()
|
self.display.audio_player.reset()
|
||||||
self.setAudioItemsVisibility(False)
|
self.setAudioItemsVisibility(False)
|
||||||
self.audio_pause_item.setChecked(False)
|
self.audio_pause_item.setChecked(False)
|
||||||
# If the current item has background audio
|
# If the current item has background audio
|
||||||
if self.service_item.is_capable(ItemCapabilities.HasBackgroundAudio):
|
if self.service_item.is_capable(ItemCapabilities.HasBackgroundAudio):
|
||||||
log.debug(u'Starting to play...')
|
log.debug(u'Starting to play...')
|
||||||
self.display.audioPlayer.add_to_playlist(self.service_item.background_audio)
|
self.display.audio_player.add_to_playlist(self.service_item.background_audio)
|
||||||
self.trackMenu.clear()
|
self.trackMenu.clear()
|
||||||
for counter in range(len(self.service_item.background_audio)):
|
for counter in range(len(self.service_item.background_audio)):
|
||||||
action = self.trackMenu.addAction(os.path.basename(self.service_item.background_audio[counter]))
|
action = self.trackMenu.addAction(os.path.basename(self.service_item.background_audio[counter]))
|
||||||
action.setData(counter)
|
action.setData(counter)
|
||||||
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), self.onTrackTriggered)
|
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), self.onTrackTriggered)
|
||||||
self.display.audioPlayer.repeat = Settings().value(
|
self.display.audio_player.repeat = Settings().value(
|
||||||
self.main_window.generalSettingsSection + u'/audio repeat list')
|
self.main_window.generalSettingsSection + u'/audio repeat list')
|
||||||
if Settings().value(self.main_window.generalSettingsSection + u'/audio start paused'):
|
if Settings().value(self.main_window.generalSettingsSection + u'/audio start paused'):
|
||||||
self.audio_pause_item.setChecked(True)
|
self.audio_pause_item.setChecked(True)
|
||||||
self.display.audioPlayer.pause()
|
self.display.audio_player.pause()
|
||||||
else:
|
else:
|
||||||
self.display.audioPlayer.play()
|
self.display.audio_player.play()
|
||||||
self.setAudioItemsVisibility(True)
|
self.setAudioItemsVisibility(True)
|
||||||
row = 0
|
row = 0
|
||||||
text = []
|
text = []
|
||||||
@ -1212,9 +1212,9 @@ class SlideController(DisplayController):
|
|||||||
if not self.audio_pause_item.isVisible():
|
if not self.audio_pause_item.isVisible():
|
||||||
return
|
return
|
||||||
if checked:
|
if checked:
|
||||||
self.display.audioPlayer.pause()
|
self.display.audio_player.pause()
|
||||||
else:
|
else:
|
||||||
self.display.audioPlayer.play()
|
self.display.audio_player.play()
|
||||||
|
|
||||||
def timerEvent(self, event):
|
def timerEvent(self, event):
|
||||||
"""
|
"""
|
||||||
@ -1316,13 +1316,13 @@ class SlideController(DisplayController):
|
|||||||
"""
|
"""
|
||||||
Go to the next track when next is clicked
|
Go to the next track when next is clicked
|
||||||
"""
|
"""
|
||||||
self.display.audioPlayer.next()
|
self.display.audio_player.next()
|
||||||
|
|
||||||
def on_audio_time_remaining(self, time):
|
def on_audio_time_remaining(self, time):
|
||||||
"""
|
"""
|
||||||
Update how much time is remaining
|
Update how much time is remaining
|
||||||
"""
|
"""
|
||||||
seconds = self.display.audioPlayer.mediaObject.remainingTime() // 1000
|
seconds = self.display.audio_player.media_object.remainingTime() // 1000
|
||||||
minutes = seconds // 60
|
minutes = seconds // 60
|
||||||
seconds %= 60
|
seconds %= 60
|
||||||
self.audio_time_label.setText(u' %02d:%02d ' % (minutes, seconds))
|
self.audio_time_label.setText(u' %02d:%02d ' % (minutes, seconds))
|
||||||
@ -1332,7 +1332,7 @@ class SlideController(DisplayController):
|
|||||||
Start playing a track
|
Start playing a track
|
||||||
"""
|
"""
|
||||||
action = self.sender()
|
action = self.sender()
|
||||||
self.display.audioPlayer.go_to(action.data())
|
self.display.audio_player.go_to(action.data())
|
||||||
|
|
||||||
def _get_plugin_manager(self):
|
def _get_plugin_manager(self):
|
||||||
"""
|
"""
|
||||||
|
@ -60,7 +60,7 @@ class MediaMediaItem(MediaManagerItem):
|
|||||||
MediaManagerItem.__init__(self, parent, plugin, icon)
|
MediaManagerItem.__init__(self, parent, plugin, icon)
|
||||||
self.singleServiceItem = False
|
self.singleServiceItem = False
|
||||||
self.hasSearch = True
|
self.hasSearch = True
|
||||||
self.mediaObject = None
|
self.media_object = None
|
||||||
self.display_controller = DisplayController(parent)
|
self.display_controller = DisplayController(parent)
|
||||||
self.display_controller.controller_layout = QtGui.QVBoxLayout()
|
self.display_controller.controller_layout = QtGui.QVBoxLayout()
|
||||||
self.media_controller.register_controller(self.display_controller)
|
self.media_controller.register_controller(self.display_controller)
|
||||||
|
Loading…
Reference in New Issue
Block a user