From 065986c33cae3e2a85a7133a4362fc64b0a7cdf8 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 27 Feb 2010 14:57:33 +0000 Subject: [PATCH] Automate Media type list from phonon --- openlp/plugins/media/lib/mediaitem.py | 6 +++--- openlp/plugins/media/mediaplugin.py | 22 +++++++++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 67f1024a9..c91440c5c 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -61,9 +61,9 @@ class MediaMediaItem(MediaManagerItem): def retranslateUi(self): self.OnNewPrompt = self.trUtf8('Select Media') - self.OnNewFileMasks = self.trUtf8('Videos (*.avi *.mpeg *.mpg *.wmv ' - '*.mov *.mp4 *.flv);;Audio (*.ogg *.mp3 *.wma *.wav *.flac)' - ';;All files (*)') + self.OnNewFileMasks = self.trUtf8('Videos (%s);;' + 'Audio (%s);;' + 'All files (*)' % (self.parent.video_list, self.parent.audio_list)) def requiredIcons(self): MediaManagerItem.requiredIcons(self) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index b403ab0de..096d53aea 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -41,9 +41,25 @@ class MediaPlugin(Plugin): # passed with drag and drop messages self.dnd_id = u'Media' self.status = PluginStatus.Active -# print Phonon.BackendCapabilities.availableMimeTypes() -# for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): -# print mimetype + self.audio_list = u'' + self.video_list = u'' + for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): + mimetype = unicode(mimetype) + type = mimetype.split(u'audio/x-') + self.audio_list, mimetype = self._add_to_list(self.audio_list, type, mimetype) + type = mimetype.split(u'audio/') + self.audio_list, mimetype = self._add_to_list(self.audio_list, type, mimetype) + type = mimetype.split(u'video/x-') + self.video_list, mimetype = self._add_to_list(self.video_list, type, mimetype) + type = mimetype.split(u'video/') + self.video_list, mimetype = self._add_to_list(self.video_list, type, mimetype) + + def _add_to_list(self, list, value, type): + if len(value) == 2: + if list.find(value[1]) == -1: + list += u'*.%s ' % value[1] + type = u'' + return list, type def initialise(self): log.info(u'Plugin Initialising')