From c1b63189f3d26948238548cd7b5bfefbc1e6a964 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 28 Nov 2015 15:28:43 +0000 Subject: [PATCH 1/2] Fix up missing players for Presentations and Media. --- openlp/core/ui/media/mediacontroller.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py index 5209a8253..b36b1021f 100644 --- a/openlp/core/ui/media/mediacontroller.py +++ b/openlp/core/ui/media/mediacontroller.py @@ -514,10 +514,15 @@ class MediaController(RegistryMixin, OpenLPMixin, RegistryProperties): :param display: Which display to use :param service_item: The ServiceItem containing the details to be played. """ - used_players = get_media_players()[0] + used_players = get_media_players() + default_player = used_players[0] if service_item.processor and service_item.processor != UiStrings().Automatic: - used_players = [service_item.processor.lower()] - # If no player, we can't play + # check to see if the player is usable else use the default one. + if not service_item.processor.lower() in used_players: + used_players = default_player + else: + used_players = [service_item.processor.lower()] + if not used_players: return False if controller.media_info.file_info.isFile(): From 1aa7ac6e35450a2b86bdb018f679e32420d38444 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 28 Nov 2015 15:29:17 +0000 Subject: [PATCH 2/2] Missed saving the Powerpoint --- openlp/plugins/presentations/lib/messagelistener.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index 48d5722e0..9db00904d 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -346,6 +346,12 @@ class MessageListener(object): self.handler = self.media_item.find_controller_by_type(file) if not self.handler: return + else: + # the saved handler is not present so need to use one based on file suffix. + if not self.controllers[self.handler].available: + self.handler = self.media_item.find_controller_by_type(file) + if not self.handler: + return if is_live: controller = self.live_handler else: