diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 7687ebe9a..6014602b2 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -71,7 +71,7 @@ class Renderer(object): log.debug(u'Initilisation started') self.screens = screens self.image_manager = ImageManager() - self.display = MainDisplay(self, screens, False) + self.display = MainDisplay(self, screens, False, False) self.display.imageManager = self.image_manager self.theme_manager = theme_manager self.service_theme = u'' diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 7843284b3..74cc09135 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -60,11 +60,12 @@ class MainDisplay(DisplayWidget): """ This is the display screen. """ - def __init__(self, parent, screens, live): + def __init__(self, parent, screens, live, needsPhonon=True): DisplayWidget.__init__(self, live, parent=None) self.parent = parent self.screens = screens self.isLive = live + self.needsPhonon = needsPhonon self.alertTab = None self.hideMode = None self.videoHide = False @@ -102,10 +103,11 @@ class MainDisplay(DisplayWidget): self.videoWidget.setGeometry(QtCore.QRect(0, 0, self.screen[u'size'].width(), self.screen[u'size'].height())) log.debug(u'Setup Phonon for monitor %s' % self.screens.monitor_number) - self.mediaObject = Phonon.MediaObject(self) - self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self.mediaObject) - Phonon.createPath(self.mediaObject, self.videoWidget) - Phonon.createPath(self.mediaObject, self.audio) + if self.needsPhonon: + self.mediaObject = Phonon.MediaObject(self) + self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self.mediaObject) + Phonon.createPath(self.mediaObject, self.videoWidget) + Phonon.createPath(self.mediaObject, self.audio) QtCore.QObject.connect(self.mediaObject, QtCore.SIGNAL(u'stateChanged(Phonon::State, Phonon::State)'), self.videoState) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 559af11e2..2a0620cf8 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -50,7 +50,7 @@ class MediaMediaItem(MediaManagerItem): u':/media/media_video.png').toImage() MediaManagerItem.__init__(self, parent, self, icon) self.singleServiceItem = False - self.mediaObject = Phonon.MediaObject(self) + self.mediaObject = None QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'video_background_replaced'), self.videobackgroundReplaced) @@ -117,6 +117,8 @@ class MediaMediaItem(MediaManagerItem): 'the media file "%s" no longer exists.')) % filename) def generateSlideData(self, service_item, item=None, xmlVersion=False): + if not self.mediaObject: + self.mediaObject = Phonon.MediaObject(self) if item is None: item = self.listView.currentItem() if item is None: @@ -209,4 +211,4 @@ class MediaMediaItem(MediaManagerItem): img = QtGui.QPixmap(u':/media/media_video.png').toImage() item_name.setIcon(build_icon(img)) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) - self.listView.addItem(item_name) \ No newline at end of file + self.listView.addItem(item_name) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index d731d8ef8..15fa774ad 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -473,4 +473,4 @@ class SongMediaItem(MediaManagerItem): Locale aware collation of song titles """ return locale.strcoll(unicode(song_1.title.lower()), - unicode(song_2.title.lower())) \ No newline at end of file + unicode(song_2.title.lower()))