[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread noreply
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368843
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Phill
Review: Approve


-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368843
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Adds basic streaming service item
UI to set up streaming 
Fix issues with suffix refactor

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368842
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-06-10 20:22:22 +
+++ openlp/core/common/settings.py	2019-06-14 19:30:51 +
@@ -210,6 +210,8 @@
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
 'media/vlc arguments': '',
+'media/video': '',
+'media/audio': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2019-05-22 06:47:00 +
+++ openlp/core/lib/__init__.py	2019-06-14 19:30:51 +
@@ -173,6 +173,7 @@
 HasNotes = 20
 HasThumbnails = 21
 HasMetaData = 22
+CanStream = 23
 
 
 def get_text_file_string(text_file_path):

=== modified file 'openlp/core/ui/media/__init__.py'
--- openlp/core/ui/media/__init__.py	2019-04-13 13:00:22 +
+++ openlp/core/ui/media/__init__.py	2019-06-14 19:30:51 +
@@ -26,6 +26,19 @@
 
 log = logging.getLogger(__name__ + '.__init__')
 
+# Audio and video extensions copied from 'include/vlc_interface.h' from vlc 2.2.0 source
+AUDIO_EXT = ['*.3ga', '*.669', '*.a52', '*.aac', '*.ac3', '*.adt', '*.adts', '*.aif', '*.aifc', '*.aiff', '*.amr',
+ '*.aob', '*.ape', '*.awb', '*.caf', '*.dts', '*.flac', '*.it', '*.kar', '*.m4a', '*.m4b', '*.m4p', '*.m5p',
+ '*.mid', '*.mka', '*.mlp', '*.mod', '*.mpa', '*.mp1', '*.mp2', '*.mp3', '*.mpc', '*.mpga', '*.mus',
+ '*.oga', '*.ogg', '*.oma', '*.opus', '*.qcp', '*.ra', '*.rmi', '*.s3m', '*.sid', '*.spx', '*.thd', '*.tta',
+ '*.voc', '*.vqf', '*.w64', '*.wav', '*.wma', '*.wv', '*.xa', '*.xm']
+VIDEO_EXT = ['*.3g2', '*.3gp', '*.3gp2', '*.3gpp', '*.amv', '*.asf', '*.avi', '*.bik', '*.divx', '*.drc', '*.dv',
+ '*.f4v', '*.flv', '*.gvi', '*.gxf', '*.iso', '*.m1v', '*.m2v', '*.m2t', '*.m2ts', '*.m4v', '*.mkv',
+ '*.mov', '*.mp2', '*.mp2v', '*.mp4', '*.mp4v', '*.mpe', '*.mpeg', '*.mpeg1', '*.mpeg2', '*.mpeg4', '*.mpg',
+ '*.mpv2', '*.mts', '*.mtv', '*.mxf', '*.mxg', '*.nsv', '*.nuv', '*.ogg', '*.ogm', '*.ogv', '*.ogx', '*.ps',
+ '*.rec', '*.rm', '*.rmvb', '*.rpl', '*.thp', '*.tod', '*.ts', '*.tts', '*.txd', '*.vob', '*.vro', '*.webm',
+ '*.wm', '*.wmv', '*.wtv', '*.xesc', '*.nut', '*.rv', '*.xvid']
+
 
 class MediaState(object):
 """

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-06-05 04:53:18 +
+++ openlp/core/ui/media/mediacontroller.py	2019-06-14 19:30:51 +
@@ -42,9 +42,9 @@
 from openlp.core.lib.serviceitem import ItemCapabilities
 from openlp.core.lib.ui import critical_error_message_box
 from openlp.core.ui import DisplayControllerType
-from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path
+from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path, VIDEO_EXT, AUDIO_EXT
 from openlp.core.ui.media.endpoint import media_endpoint
-from openlp.core.ui.media.vlcplayer import AUDIO_EXT, VIDEO_EXT, VlcPlayer, get_vlc
+from openlp.core.ui.media.vlcplayer import VlcPlayer, get_vlc
 
 
 log = logging.getLogger(__name__)
@@ -184,7 +184,8 @@
 display.has_audio = False
 self.vlc_player.setup(display, preview)
 
-def set_controls_visible(self, controller, value):
+@staticmethod
+def set_controls_visible(controller, value):
 """
 After a new display is configured, all media related widget will be created too
 
@@ -229,7 +230,10 @@
 display = self._define_display(controller)
 if controller.is_live:
 # if this is an optical device use special handling
-if service_item.is_capable(ItemCapabilities.IsOptical):
+if service_item.is_capable(ItemCapabilities.CanStream):
+is_valid = self._check_file_type(controller, display, True)
+controller.media_info.media_type = MediaType.Stream
+elif service_item.is_capable(ItemCapabilities.IsOptical):
 log.debug('video is optical and live')
 path = service_item.get_frame_path()
 (name, title, audio_track, subtitle_track, start, end, clip_name) = parse_optical_path(path)
@@ -249,7 +253,10 @@
 controller.media_info.start_time = service_item.start_time
 controller.media_info.end_time = service_item.end_time
 elif 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Adds basic streaming service item
UI to set up streaming 
Fix issues with suffix refactor

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368843
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-06-10 20:22:22 +
+++ openlp/core/common/settings.py	2019-06-14 19:28:31 +
@@ -210,6 +210,8 @@
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
 'media/vlc arguments': '',
+'media/video': '',
+'media/audio': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2019-05-22 06:47:00 +
+++ openlp/core/lib/__init__.py	2019-06-14 19:28:31 +
@@ -173,6 +173,7 @@
 HasNotes = 20
 HasThumbnails = 21
 HasMetaData = 22
+CanStream = 23
 
 
 def get_text_file_string(text_file_path):

=== modified file 'openlp/core/ui/media/__init__.py'
--- openlp/core/ui/media/__init__.py	2019-04-13 13:00:22 +
+++ openlp/core/ui/media/__init__.py	2019-06-14 19:28:31 +
@@ -26,6 +26,19 @@
 
 log = logging.getLogger(__name__ + '.__init__')
 
+# Audio and video extensions copied from 'include/vlc_interface.h' from vlc 2.2.0 source
+AUDIO_EXT = ['*.3ga', '*.669', '*.a52', '*.aac', '*.ac3', '*.adt', '*.adts', '*.aif', '*.aifc', '*.aiff', '*.amr',
+ '*.aob', '*.ape', '*.awb', '*.caf', '*.dts', '*.flac', '*.it', '*.kar', '*.m4a', '*.m4b', '*.m4p', '*.m5p',
+ '*.mid', '*.mka', '*.mlp', '*.mod', '*.mpa', '*.mp1', '*.mp2', '*.mp3', '*.mpc', '*.mpga', '*.mus',
+ '*.oga', '*.ogg', '*.oma', '*.opus', '*.qcp', '*.ra', '*.rmi', '*.s3m', '*.sid', '*.spx', '*.thd', '*.tta',
+ '*.voc', '*.vqf', '*.w64', '*.wav', '*.wma', '*.wv', '*.xa', '*.xm']
+VIDEO_EXT = ['*.3g2', '*.3gp', '*.3gp2', '*.3gpp', '*.amv', '*.asf', '*.avi', '*.bik', '*.divx', '*.drc', '*.dv',
+ '*.f4v', '*.flv', '*.gvi', '*.gxf', '*.iso', '*.m1v', '*.m2v', '*.m2t', '*.m2ts', '*.m4v', '*.mkv',
+ '*.mov', '*.mp2', '*.mp2v', '*.mp4', '*.mp4v', '*.mpe', '*.mpeg', '*.mpeg1', '*.mpeg2', '*.mpeg4', '*.mpg',
+ '*.mpv2', '*.mts', '*.mtv', '*.mxf', '*.mxg', '*.nsv', '*.nuv', '*.ogg', '*.ogm', '*.ogv', '*.ogx', '*.ps',
+ '*.rec', '*.rm', '*.rmvb', '*.rpl', '*.thp', '*.tod', '*.ts', '*.tts', '*.txd', '*.vob', '*.vro', '*.webm',
+ '*.wm', '*.wmv', '*.wtv', '*.xesc', '*.nut', '*.rv', '*.xvid']
+
 
 class MediaState(object):
 """

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-06-05 04:53:18 +
+++ openlp/core/ui/media/mediacontroller.py	2019-06-14 19:28:31 +
@@ -42,9 +42,9 @@
 from openlp.core.lib.serviceitem import ItemCapabilities
 from openlp.core.lib.ui import critical_error_message_box
 from openlp.core.ui import DisplayControllerType
-from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path
+from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path, VIDEO_EXT, AUDIO_EXT
 from openlp.core.ui.media.endpoint import media_endpoint
-from openlp.core.ui.media.vlcplayer import AUDIO_EXT, VIDEO_EXT, VlcPlayer, get_vlc
+from openlp.core.ui.media.vlcplayer import VlcPlayer, get_vlc
 
 
 log = logging.getLogger(__name__)
@@ -184,7 +184,8 @@
 display.has_audio = False
 self.vlc_player.setup(display, preview)
 
-def set_controls_visible(self, controller, value):
+@staticmethod
+def set_controls_visible(controller, value):
 """
 After a new display is configured, all media related widget will be created too
 
@@ -229,7 +230,10 @@
 display = self._define_display(controller)
 if controller.is_live:
 # if this is an optical device use special handling
-if service_item.is_capable(ItemCapabilities.IsOptical):
+if service_item.is_capable(ItemCapabilities.CanStream):
+is_valid = self._check_file_type(controller, display, True)
+controller.media_info.media_type = MediaType.Stream
+elif service_item.is_capable(ItemCapabilities.IsOptical):
 log.debug('video is optical and live')
 path = service_item.get_frame_path()
 (name, title, audio_track, subtitle_track, start, end, clip_name) = parse_optical_path(path)
@@ -249,7 +253,10 @@
 controller.media_info.start_time = service_item.start_time
 controller.media_info.end_time = service_item.end_time
 elif 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Tim Bentley
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368842
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Phill
Review: Approve


-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368841
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Phill
Review: Needs Fixing

Just one inconsistency with text labels (see inline) and the failed linting, 
but other than that looks ok!

Diff comments:

> 
> === modified file 'openlp/core/ui/media/mediatab.py'
> --- openlp/core/ui/media/mediatab.py  2019-05-04 19:47:06 +
> +++ openlp/core/ui/media/mediatab.py  2019-06-14 18:00:17 +
> @@ -68,11 +68,15 @@
>  self.left_layout.addWidget(self.live_media_group_box)
>  self.stream_media_group_box = QtWidgets.QGroupBox(self.left_column)
>  self.stream_media_group_box.setObjectName('stream_media_group_box')
> -self.stream_media_layout = 
> QtWidgets.QHBoxLayout(self.stream_media_group_box)
> +self.stream_media_layout = 
> QtWidgets.QFormLayout(self.stream_media_group_box)
>  self.stream_media_layout.setObjectName('stream_media_layout')
>  self.stream_media_layout.setContentsMargins(0, 0, 0, 0)
> -self.stream_edit = QtWidgets.QLabel(self)
> -self.stream_media_layout.addWidget(self.stream_edit)
> +self.video_edit = QtWidgets.QLineEdit(self)
> +self.stream_media_layout.addRow(translate('MediaPlugin.MediaTab', 
> 'Video:'), self.video_edit)

colon here

> +self.audio_edit = QtWidgets.QLineEdit(self)
> +self.stream_media_layout.addRow(translate('MediaPlugin.MediaTab', 
> 'Audio'), self.audio_edit)

but not here

> +self.stream_cmd = QtWidgets.QLabel(self)
> +self.stream_media_layout.addWidget(self.stream_cmd)
>  self.left_layout.addWidget(self.stream_media_group_box)
>  self.vlc_arguments_group_box = QtWidgets.QGroupBox(self.left_column)
>  self.vlc_arguments_group_box.setObjectName('vlc_arguments_group_box')


-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368841
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Tim Bentley
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368841
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-06-14 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Adds basic streaming service item
UI to set up streaming 
Fix issues with suffix refactor

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/368841
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-06-10 20:22:22 +
+++ openlp/core/common/settings.py	2019-06-14 18:00:17 +
@@ -210,6 +210,8 @@
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
 'media/vlc arguments': '',
+'media/video': '',
+'media/audio': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2019-05-22 06:47:00 +
+++ openlp/core/lib/__init__.py	2019-06-14 18:00:17 +
@@ -173,6 +173,7 @@
 HasNotes = 20
 HasThumbnails = 21
 HasMetaData = 22
+CanStream = 23
 
 
 def get_text_file_string(text_file_path):

=== modified file 'openlp/core/ui/media/__init__.py'
--- openlp/core/ui/media/__init__.py	2019-04-13 13:00:22 +
+++ openlp/core/ui/media/__init__.py	2019-06-14 18:00:17 +
@@ -26,6 +26,19 @@
 
 log = logging.getLogger(__name__ + '.__init__')
 
+# Audio and video extensions copied from 'include/vlc_interface.h' from vlc 2.2.0 source
+AUDIO_EXT = ['*.3ga', '*.669', '*.a52', '*.aac', '*.ac3', '*.adt', '*.adts', '*.aif', '*.aifc', '*.aiff', '*.amr',
+ '*.aob', '*.ape', '*.awb', '*.caf', '*.dts', '*.flac', '*.it', '*.kar', '*.m4a', '*.m4b', '*.m4p', '*.m5p',
+ '*.mid', '*.mka', '*.mlp', '*.mod', '*.mpa', '*.mp1', '*.mp2', '*.mp3', '*.mpc', '*.mpga', '*.mus',
+ '*.oga', '*.ogg', '*.oma', '*.opus', '*.qcp', '*.ra', '*.rmi', '*.s3m', '*.sid', '*.spx', '*.thd', '*.tta',
+ '*.voc', '*.vqf', '*.w64', '*.wav', '*.wma', '*.wv', '*.xa', '*.xm']
+VIDEO_EXT = ['*.3g2', '*.3gp', '*.3gp2', '*.3gpp', '*.amv', '*.asf', '*.avi', '*.bik', '*.divx', '*.drc', '*.dv',
+ '*.f4v', '*.flv', '*.gvi', '*.gxf', '*.iso', '*.m1v', '*.m2v', '*.m2t', '*.m2ts', '*.m4v', '*.mkv',
+ '*.mov', '*.mp2', '*.mp2v', '*.mp4', '*.mp4v', '*.mpe', '*.mpeg', '*.mpeg1', '*.mpeg2', '*.mpeg4', '*.mpg',
+ '*.mpv2', '*.mts', '*.mtv', '*.mxf', '*.mxg', '*.nsv', '*.nuv', '*.ogg', '*.ogm', '*.ogv', '*.ogx', '*.ps',
+ '*.rec', '*.rm', '*.rmvb', '*.rpl', '*.thp', '*.tod', '*.ts', '*.tts', '*.txd', '*.vob', '*.vro', '*.webm',
+ '*.wm', '*.wmv', '*.wtv', '*.xesc', '*.nut', '*.rv', '*.xvid']
+
 
 class MediaState(object):
 """

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-06-05 04:53:18 +
+++ openlp/core/ui/media/mediacontroller.py	2019-06-14 18:00:17 +
@@ -42,9 +42,9 @@
 from openlp.core.lib.serviceitem import ItemCapabilities
 from openlp.core.lib.ui import critical_error_message_box
 from openlp.core.ui import DisplayControllerType
-from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path
+from openlp.core.ui.media import MediaState, ItemMediaInfo, MediaType, parse_optical_path, VIDEO_EXT, AUDIO_EXT
 from openlp.core.ui.media.endpoint import media_endpoint
-from openlp.core.ui.media.vlcplayer import AUDIO_EXT, VIDEO_EXT, VlcPlayer, get_vlc
+from openlp.core.ui.media.vlcplayer import VlcPlayer, get_vlc
 
 
 log = logging.getLogger(__name__)
@@ -184,7 +184,8 @@
 display.has_audio = False
 self.vlc_player.setup(display, preview)
 
-def set_controls_visible(self, controller, value):
+@staticmethod
+def set_controls_visible(controller, value):
 """
 After a new display is configured, all media related widget will be created too
 
@@ -229,7 +230,10 @@
 display = self._define_display(controller)
 if controller.is_live:
 # if this is an optical device use special handling
-if service_item.is_capable(ItemCapabilities.IsOptical):
+if service_item.is_capable(ItemCapabilities.CanStream):
+is_valid = self._check_file_type(controller, display, True)
+controller.media_info.media_type = MediaType.Stream
+elif service_item.is_capable(ItemCapabilities.IsOptical):
 log.debug('video is optical and live')
 path = service_item.get_frame_path()
 (name, title, audio_track, subtitle_track, start, end, clip_name) = parse_optical_path(path)
@@ -249,7 +253,10 @@
 controller.media_info.start_time = service_item.start_time
 controller.media_info.end_time = service_item.end_time
 elif 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-05-07 Thread noreply
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Merged

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366957
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-05-06 Thread Raoul Snyman
Review: Approve


-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366957
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-05-05 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Media plays successfully and cleanups.
Added VLC additions 

Requested reviews:
  Tomas Groth (tomasgroth)
  Raoul Snyman (raoul-snyman)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366957

Media now plays, stops, seeks and repeats.
Media Tab now works but needs more love.
VLC arguments is now added and usable.
Experimental flag added to UI.  Set this and it may go bang.  You will need to 
edit settings manually to release this!
Add code (provided by tgc and superfly) to get media components. Works fine 
outside OpenLP but takes out OpenLP on Fedora 30.  Activate by using 
experimental and restart.
Fixed the imagemanager bug on saving themes.  Now works except preview image is 
black!
Removed many bits of commented out code.
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-04-13 13:00:22 +
+++ openlp/core/common/settings.py	2019-05-05 06:00:56 +
@@ -180,15 +180,13 @@
 'api/thumbnails': True,
 'crashreport/last directory': None,
 'formattingTags/html_tags': '',
-'core/audio repeat list': False,
 'core/auto open': False,
 'core/auto preview': False,
-'core/audio start paused': True,
 'core/auto unblank': False,
 'core/click live slide to unblank': False,
 'core/blank warning': False,
 'core/ccli number': '',
-'core/experimental': False,
+'advanced/experimental': False,
 'core/has run wizard': False,
 'core/language': '[en]',
 'core/last version test': '',
@@ -213,6 +211,7 @@
 'images/background color': '#00',
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
+'media/vlc arguments': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,
@@ -317,7 +316,9 @@
 ('bibles/proxy username', '', []),
 ('bibles/proxy password', '', []),
 ('media/players', '', []),
-('media/override player', '', [])
+('media/override player', '', []),
+('core/audio start paused', '', []),
+('core/audio repeat list', '', [])
 ]
 
 @staticmethod

=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py	2019-04-13 13:00:22 +
+++ openlp/core/ui/__init__.py	2019-05-05 06:00:56 +
@@ -93,4 +93,4 @@
 self.resizeRowsToContents()
 
 
-__all__ = ['SingleColumnTableWidget']
+__all__ = ['SingleColumnTableWidget', 'DisplayControllerType']

=== modified file 'openlp/core/ui/advancedtab.py'
--- openlp/core/ui/advancedtab.py	2019-04-13 13:00:22 +
+++ openlp/core/ui/advancedtab.py	2019-05-05 06:00:56 +
@@ -117,6 +117,9 @@
 self.enable_auto_close_check_box = QtWidgets.QCheckBox(self.ui_group_box)
 self.enable_auto_close_check_box.setObjectName('enable_auto_close_check_box')
 self.ui_layout.addRow(self.enable_auto_close_check_box)
+self.experimental_check_box = QtWidgets.QCheckBox(self.ui_group_box)
+self.experimental_check_box.setObjectName('experimental_check_box')
+self.ui_layout.addRow(self.experimental_check_box)
 self.left_layout.addWidget(self.ui_group_box)
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox = QtWidgets.QCheckBox(self.ui_group_box)
@@ -291,6 +294,8 @@
 'Auto-scroll the next slide to bottom'))
 self.enable_auto_close_check_box.setText(translate('OpenLP.AdvancedTab',
'Enable application exit confirmation'))
+self.experimental_check_box.setText(translate('OpenLP.GeneralTab',
+  'Experimental features (use at your own risk)'))
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox.setText(translate('OpenLP.AdvancedTab', 'Use dark style (needs restart)'))
 self.service_name_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Default Service Name'))
@@ -360,6 +365,7 @@
 if self.autoscroll_map[i] == autoscroll_value and i < self.autoscroll_combo_box.count():
 self.autoscroll_combo_box.setCurrentIndex(i)
 self.enable_auto_close_check_box.setChecked(settings.value('enable exit confirmation'))
+self.experimental_check_box.setChecked(settings.value('experimental'))
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox.setChecked(settings.value('use_dark_style'))
 self.hide_mouse_check_box.setChecked(settings.value('hide mouse'))
@@ -423,6 +429,7 @@
 slide_max_height_value = self.slide_max_height_combo_box.itemData(slide_max_height_index)
 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-05-05 Thread Tim Bentley
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366608
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-05-02 Thread Tomas Groth
Review: Needs Fixing

I tried running the branch on a windows system which I then realized didn't 
have VLC. But it resulted in this traceback: https://bin.snyman.info/mmmvuquw
-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366608
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-27 Thread Raoul Snyman
Review: Needs Fixing

Looks good.

One thing I would prefer to change though, is "VLC additions" aka "VLC 
additional commands". They are not commands, they are command line arguments, 
so I would call them "VLC arguments". In my opinion, "additions" is ambiguous 
and unclear.
-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366608
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-27 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Media plays successfully and cleanups.
Added VLC additions 

Requested reviews:
  Tomas Groth (tomasgroth)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366608

Media now plays, stops, seeks and repeats.
Media Tab now works but needs more love.
VLC addtitions is now added and usable.
Experimental flag added to UI.  Set this and it may go bang.  You will need to 
edit settings manually to release this!
Add code (provided by tgc and superfly) to get media components. Works fine 
outside OpenLP but takes out OpenLP on Fedora 30.  Activate by using 
experimental and restart.
Fixed the imagemanager bug on saving themes.  Now works except preview image is 
black!
Removed many bits of commented out code.
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-04-09 17:21:35 +
+++ openlp/core/common/settings.py	2019-04-27 15:20:26 +
@@ -188,7 +188,7 @@
 'core/click live slide to unblank': False,
 'core/blank warning': False,
 'core/ccli number': '',
-'core/experimental': False,
+'advanced/experimental': False,
 'core/has run wizard': False,
 'core/language': '[en]',
 'core/last version test': '',
@@ -213,6 +213,7 @@
 'images/background color': '#00',
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
+'media/vlc additions': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py	2019-02-14 15:09:09 +
+++ openlp/core/ui/__init__.py	2019-04-27 15:20:26 +
@@ -93,4 +93,4 @@
 self.resizeRowsToContents()
 
 
-__all__ = ['SingleColumnTableWidget']
+__all__ = ['SingleColumnTableWidget', 'DisplayControllerType']

=== modified file 'openlp/core/ui/advancedtab.py'
--- openlp/core/ui/advancedtab.py	2019-03-15 20:56:32 +
+++ openlp/core/ui/advancedtab.py	2019-04-27 15:20:26 +
@@ -117,6 +117,9 @@
 self.enable_auto_close_check_box = QtWidgets.QCheckBox(self.ui_group_box)
 self.enable_auto_close_check_box.setObjectName('enable_auto_close_check_box')
 self.ui_layout.addRow(self.enable_auto_close_check_box)
+self.experimental_check_box = QtWidgets.QCheckBox(self.ui_group_box)
+self.experimental_check_box.setObjectName('experimental_check_box')
+self.ui_layout.addRow(self.experimental_check_box)
 self.left_layout.addWidget(self.ui_group_box)
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox = QtWidgets.QCheckBox(self.ui_group_box)
@@ -291,6 +294,8 @@
 'Auto-scroll the next slide to bottom'))
 self.enable_auto_close_check_box.setText(translate('OpenLP.AdvancedTab',
'Enable application exit confirmation'))
+self.experimental_check_box.setText(translate('OpenLP.GeneralTab',
+  'Experimental features (use at your own risk)'))
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox.setText(translate('OpenLP.AdvancedTab', 'Use dark style (needs restart)'))
 self.service_name_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Default Service Name'))
@@ -360,6 +365,7 @@
 if self.autoscroll_map[i] == autoscroll_value and i < self.autoscroll_combo_box.count():
 self.autoscroll_combo_box.setCurrentIndex(i)
 self.enable_auto_close_check_box.setChecked(settings.value('enable exit confirmation'))
+self.experimental_check_box.setChecked(settings.value('experimental'))
 if HAS_DARK_STYLE:
 self.use_dark_style_checkbox.setChecked(settings.value('use_dark_style'))
 self.hide_mouse_check_box.setChecked(settings.value('hide mouse'))
@@ -423,6 +429,7 @@
 slide_max_height_value = self.slide_max_height_combo_box.itemData(slide_max_height_index)
 settings.setValue('slide max height', slide_max_height_value)
 settings.setValue('autoscrolling', self.autoscroll_map[self.autoscroll_combo_box.currentIndex()])
+settings.setValue('experimental', self.experimental_check_box.isChecked())
 settings.setValue('enable exit confirmation', self.enable_auto_close_check_box.isChecked())
 settings.setValue('hide mouse', self.hide_mouse_check_box.isChecked())
 settings.setValue('alternate rows', self.alternate_rows_check_box.isChecked())

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-04-12 16:37:45 +
+++ openlp/core/ui/media/mediacontroller.py	2019-04-27 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-27 Thread Tim Bentley
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366336
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-21 Thread Tim Bentley
Prints are there as the code just explodes on my machine and shuts OpenLP down.
No worth doing anything cute while it is this state!  They never get called.

Happy to move flag.
-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366336
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-21 Thread Tomas Groth
Review: Needs Fixing

A few comments below. Will try to test on a few systems later.

Diff comments:

> 
> === modified file 'openlp/core/ui/generaltab.py'
> --- openlp/core/ui/generaltab.py  2019-03-16 10:20:46 +
> +++ openlp/core/ui/generaltab.py  2019-04-21 12:51:38 +
> @@ -113,6 +113,9 @@
>  self.check_for_updates_check_box = 
> QtWidgets.QCheckBox(self.startup_group_box)
>  
> self.check_for_updates_check_box.setObjectName('check_for_updates_check_box')
>  self.startup_layout.addWidget(self.check_for_updates_check_box)
> +self.experimental_check_box = 
> QtWidgets.QCheckBox(self.startup_group_box)
> +self.experimental_check_box.setObjectName('experimental_check_box')
> +self.startup_layout.addWidget(self.experimental_check_box)
>  self.right_layout.addWidget(self.startup_group_box)

Wouldn't it make more sense to have the experimental thing on the advanced tab?

>  # Logo
>  self.logo_group_box = QtWidgets.QGroupBox(self.right_column)
> 
> === modified file 'openlp/core/ui/media/mediatab.py'
> --- openlp/core/ui/media/mediatab.py  2019-04-09 17:32:10 +
> +++ openlp/core/ui/media/mediatab.py  2019-04-21 12:51:38 +
> @@ -100,6 +108,20 @@
>  self.stream_edit.setPlainText(LINUX_STREAM)
>  elif is_win:
>  self.stream_edit.setPlainText(WIN_STREAM)
> +else:
> +self.stream_edit.setPlainText(OSX_STREAM)
> +
> self.vlc_additions_edit.setPlainText(Settings().value(self.settings_section + 
> '/vlc additions'))
> +if Settings().value('core/experimental'):
> +print('Video input:')
> +for cam in QCameraInfo.availableCameras():
> +print('===')
> +print(cam.deviceName())
> +print(cam.description())
> +print()
> +print('Audio input:')
> +for au in QAudioDeviceInfo.availableDevices(QAudio.AudioInput):
> +print('===')
> +print(au.deviceName())

Remove prints, or put in debug log

>  
>  def save(self):
>  """


-- 
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366336
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-21 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Media plays successfully and cleanups.
Added VLC additions 

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366336

Media now plays, stops, seeks and repeats.
Media Tab now works but needs more love.
VLC addtitions is now added and usable.
Experimental flag added to UI.  Set this and it may go bang.  You will need to 
edit settings manually to release this!
Add code (provided by tgc and superfly) to get media components. Works fine 
outside OpenLP but takes out OpenLP on Fedora 30.  Activate by using 
experimental and restart.
Fixed the imagemanager bug on saving themes.  Now works except preview image is 
black!
Removed many bits of commented out code.
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-04-09 17:21:35 +
+++ openlp/core/common/settings.py	2019-04-21 12:51:38 +
@@ -213,6 +213,7 @@
 'images/background color': '#00',
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
+'media/vlc additions': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py	2019-02-14 15:09:09 +
+++ openlp/core/ui/__init__.py	2019-04-21 12:51:38 +
@@ -93,4 +93,4 @@
 self.resizeRowsToContents()
 
 
-__all__ = ['SingleColumnTableWidget']
+__all__ = ['SingleColumnTableWidget', 'DisplayControllerType']

=== modified file 'openlp/core/ui/generaltab.py'
--- openlp/core/ui/generaltab.py	2019-03-16 10:20:46 +
+++ openlp/core/ui/generaltab.py	2019-04-21 12:51:38 +
@@ -113,6 +113,9 @@
 self.check_for_updates_check_box = QtWidgets.QCheckBox(self.startup_group_box)
 self.check_for_updates_check_box.setObjectName('check_for_updates_check_box')
 self.startup_layout.addWidget(self.check_for_updates_check_box)
+self.experimental_check_box = QtWidgets.QCheckBox(self.startup_group_box)
+self.experimental_check_box.setObjectName('experimental_check_box')
+self.startup_layout.addWidget(self.experimental_check_box)
 self.right_layout.addWidget(self.startup_group_box)
 # Logo
 self.logo_group_box = QtWidgets.QGroupBox(self.right_column)
@@ -180,6 +183,8 @@
 self.logo_file_label.setText(translate('OpenLP.GeneralTab', 'Logo file:'))
 self.logo_hide_on_startup_check_box.setText(translate('OpenLP.GeneralTab', 'Don\'t show logo on startup'))
 self.check_for_updates_check_box.setText(translate('OpenLP.GeneralTab', 'Check for updates to OpenLP'))
+self.experimental_check_box.setText(translate('OpenLP.GeneralTab',
+  'Experimental features (use at your own risk)'))
 self.settings_group_box.setTitle(translate('OpenLP.GeneralTab', 'Application Settings'))
 self.save_check_service_check_box.setText(translate('OpenLP.GeneralTab',
   'Prompt to save before starting a new service'))
@@ -222,6 +227,7 @@
 self.logo_hide_on_startup_check_box.setChecked(settings.value('logo hide on startup'))
 self.logo_color_button.color = self.logo_background_color
 self.check_for_updates_check_box.setChecked(settings.value('update check'))
+self.experimental_check_box.setChecked(settings.value('experimental'))
 self.auto_preview_check_box.setChecked(settings.value('auto preview'))
 self.timeout_spin_box.setValue(settings.value('loop delay'))
 self.start_paused_check_box.setChecked(settings.value('audio start paused'))
@@ -241,6 +247,7 @@
 settings.setValue('logo file', self.logo_file_path_edit.path)
 settings.setValue('logo hide on startup', self.logo_hide_on_startup_check_box.isChecked())
 settings.setValue('update check', self.check_for_updates_check_box.isChecked())
+settings.setValue('experimental', self.experimental_check_box.isChecked())
 settings.setValue('save prompt', self.save_check_service_check_box.isChecked())
 settings.setValue('auto unblank', self.auto_unblank_check_box.isChecked())
 settings.setValue('click live slide to unblank', self.click_live_slide_to_unblank_check_box.isChecked())

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-04-12 16:37:45 +
+++ openlp/core/ui/media/mediacontroller.py	2019-04-21 12:51:38 +
@@ -20,8 +20,7 @@
 # Temple Place, Suite 330, Boston, MA 02111-1307 USA  #
 

[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-21 Thread Tim Bentley
The proposal to merge lp:~trb143/openlp/more_media into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366335
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~trb143/openlp/more_media into lp:openlp

2019-04-21 Thread Tim Bentley
Tim Bentley has proposed merging lp:~trb143/openlp/more_media into lp:openlp.

Commit message:
Media plays successfully and cleanups.
Added VLC additions 

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/more_media/+merge/366335

Media now plays, stops, seeks and repeats.
Media Tab now works but needs more love.
VLC addtitions is now added and usable.
Experimental flag added to UI.  Set this and it may go bang.  You will need to 
edit settings manually to release this!
Add code (provided by tgc and superfly) to get media components. Works fine 
outside OpenLP but takes out OpenLP on Fedora 30.  Activate by using 
experimental and restart.
Fixed the imagemanager bug on saving themes.  Now works except preview image is 
black!
Removed many bits of commented out code.
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~trb143/openlp/more_media into lp:openlp.
=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2019-04-09 17:21:35 +
+++ openlp/core/common/settings.py	2019-04-21 09:00:48 +
@@ -213,6 +213,7 @@
 'images/background color': '#00',
 'media/media auto start': QtCore.Qt.Unchecked,
 'media/stream command': '',
+'media/vlc additions': '',
 'remotes/download version': '0.0',
 'players/background color': '#00',
 'servicemanager/last directory': None,

=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py	2019-02-14 15:09:09 +
+++ openlp/core/ui/__init__.py	2019-04-21 09:00:48 +
@@ -93,4 +93,4 @@
 self.resizeRowsToContents()
 
 
-__all__ = ['SingleColumnTableWidget']
+__all__ = ['SingleColumnTableWidget', 'DisplayControllerType']

=== modified file 'openlp/core/ui/generaltab.py'
--- openlp/core/ui/generaltab.py	2019-03-16 10:20:46 +
+++ openlp/core/ui/generaltab.py	2019-04-21 09:00:48 +
@@ -113,6 +113,9 @@
 self.check_for_updates_check_box = QtWidgets.QCheckBox(self.startup_group_box)
 self.check_for_updates_check_box.setObjectName('check_for_updates_check_box')
 self.startup_layout.addWidget(self.check_for_updates_check_box)
+self.experimental_check_box = QtWidgets.QCheckBox(self.startup_group_box)
+self.experimental_check_box.setObjectName('experimental_check_box')
+self.startup_layout.addWidget(self.experimental_check_box)
 self.right_layout.addWidget(self.startup_group_box)
 # Logo
 self.logo_group_box = QtWidgets.QGroupBox(self.right_column)
@@ -180,6 +183,8 @@
 self.logo_file_label.setText(translate('OpenLP.GeneralTab', 'Logo file:'))
 self.logo_hide_on_startup_check_box.setText(translate('OpenLP.GeneralTab', 'Don\'t show logo on startup'))
 self.check_for_updates_check_box.setText(translate('OpenLP.GeneralTab', 'Check for updates to OpenLP'))
+self.experimental_check_box.setText(translate('OpenLP.GeneralTab',
+  'Experimental features (use at your own risk)'))
 self.settings_group_box.setTitle(translate('OpenLP.GeneralTab', 'Application Settings'))
 self.save_check_service_check_box.setText(translate('OpenLP.GeneralTab',
   'Prompt to save before starting a new service'))
@@ -222,6 +227,7 @@
 self.logo_hide_on_startup_check_box.setChecked(settings.value('logo hide on startup'))
 self.logo_color_button.color = self.logo_background_color
 self.check_for_updates_check_box.setChecked(settings.value('update check'))
+self.experimental_check_box.setChecked(settings.value('experimental'))
 self.auto_preview_check_box.setChecked(settings.value('auto preview'))
 self.timeout_spin_box.setValue(settings.value('loop delay'))
 self.start_paused_check_box.setChecked(settings.value('audio start paused'))
@@ -241,6 +247,7 @@
 settings.setValue('logo file', self.logo_file_path_edit.path)
 settings.setValue('logo hide on startup', self.logo_hide_on_startup_check_box.isChecked())
 settings.setValue('update check', self.check_for_updates_check_box.isChecked())
+settings.setValue('experimental', self.experimental_check_box.isChecked())
 settings.setValue('save prompt', self.save_check_service_check_box.isChecked())
 settings.setValue('auto unblank', self.auto_unblank_check_box.isChecked())
 settings.setValue('click live slide to unblank', self.click_live_slide_to_unblank_check_box.isChecked())

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2019-04-12 16:37:45 +
+++ openlp/core/ui/media/mediacontroller.py	2019-04-21 09:00:48 +
@@ -20,8 +20,7 @@
 # Temple Place, Suite 330, Boston, MA 02111-1307 USA  #