diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py index 5209a8253..6d35f2478 100644 --- a/openlp/core/ui/media/mediacontroller.py +++ b/openlp/core/ui/media/mediacontroller.py @@ -514,9 +514,14 @@ 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()] + # 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 no player, we can't play if not used_players: return False diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index c3db9a071..ae4e8fd9a 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -396,6 +396,7 @@ class ServiceManager(OpenLPMixin, RegistryMixin, QtGui.QWidget, Ui_ServiceManage :param suffix_list: New Suffix's to be supported """ + print(suffix_list) if isinstance(suffix_list, str): self.suffixes.append(suffix_list) else: diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index 48d5722e0..52c93877b 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: