With much fanfare, we released OpenLP 2.2 last Sunday. It's been a roaring success so far, but sadly it has also been plagued by unforseen bugs. A number of users have had OpenLP just crash on startup, and some folks have been unable to play videos. In this blog post, I'll show you how to figure out which issue you're running into, and a workaround for it until we can get a fix out (hopefully in the next 2-3 weeks).
There have been two main problems which cause OpenLP 2.2 to crash on startup. Firstly, three languages were hit by translation errors, and secondly, OpenLP on Linux won't start up due to VLC being missing.
The issues with videos can be divided into two situations. Firstly, our initial build of OpenLP for Windows was unable to detect VLC, and secondly, some folks might have been using video players that are not supported on their platforms anymore.
Translation Issues
The three languages affected by the translation bug are German, Estonian and Chinese (Taiwan). Fortunantely there is a workaround, just change the language back to the default English. But since OpenLP can't start you'll have have to change the settings where the settings are stored, which differs on platform.
Diagnosing the Problem
When this bug hits you'll see an error window opening up on startup, and the following Python traceback will be in there:
Traceback (most recent call last): File "<string>", line 44, in <module> File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/__init__.py", line 388, in main File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/__init__.py", line 141, in run File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/ui/mainwindow.py", line 526, in __init__ File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/ui/aboutform.py", line 44, in __init__ File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/ui/aboutform.py", line 50, in _setup File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/ui/aboutdialog.py", line 82, in setup_ui File "/Users/raoul/Projects/OpenLP/OpenLP-2.2/openlp/core/ui/aboutdialog.py", line 264, in retranslate_ui TypeError: not all arguments converted during string formatting
Fixing the Problem
To change language on Windows:
Click on Start, Run
Type in
regedit.exe
and press EnterNavigate down the tree to the OpenLP folder which is located at:
HKEY_CURRENT_USER\Software\OpenLP\OpenLP\core
Click the attribute
language
and change it toen
for EnglishSave and close the Registry Editor
Start OpenLP
To change language on Linux:
Open a text editor (Kate on KDE, Gedit on Gnome or Ubuntu)
Open a file and look for
/home/<user>/.config/OpenLP/OpenLP.conf
(you may need to tell your file dialog to show hidden files)In the
[core]
section findlanguage
and change it toen
for EnglishSave the file and close your editor
Start OpenLP
To change language on Mac OS X:
Open Finder and go to Applications
In Applications, open the Utilities folder
Open the Terminal application, this will open up a command prompt
Type in
defaults write org.openlp.OpenLP core.language en
exactly as you see it here, and press <Enter>Close Terminal
Start OpenLP
VLC On Linux
In some Linux distributions (notably Ubuntu and its derivatives), you may encounter and error when starting OpenLP.
Diagnosing the Problem
When OpenLP starts, you'll see an error window with the following traceback:
Traceback (most recent call last): File "/usr/bin/openlp", line 44, in <module> main() File "/usr/share/openlp/openlp/core/__init__.py", line 384, in main sys.exit(application.run(qt_args)) File "/usr/share/openlp/openlp/core/__init__.py", line 142, in run Registry().execute('bootstrap_initialise') File "/usr/share/openlp/openlp/core/common/registry.py", line 137, in execute result = function(*args, **kwargs) File "/usr/share/openlp/openlp/core/lib/pluginmanager.py", line 60, in bootstrap_initialise self.hook_media_manager() File "/usr/share/openlp/openlp/core/lib/pluginmanager.py", line 122, in hook_media_manager plugin.create_media_manager_item() File "/usr/share/openlp/openlp/core/lib/plugin.py", line 204, in create_media_manager_item self.media_item = self.media_item_class(self.main_window.media_dock_manager.media_dock, self) File "/usr/share/openlp/openlp/plugins/media/lib/mediaitem.py", line 56, in __init__ super(MediaMediaItem, self).__init__(parent, plugin) File "/usr/share/openlp/openlp/core/lib/mediamanageritem.py", line 82, in __init__ self.setup_item() File "/usr/share/openlp/openlp/plugins/media/lib/mediaitem.py", line 86, in setup_item self.media_controller.setup_display(self.display_controller.preview_display, False) File "/usr/share/openlp/openlp/core/ui/media/mediacontroller.py", line 322, in setup_display player.setup(display) File "/usr/share/openlp/openlp/core/ui/media/vlcplayer.py", line 147, in setup display.vlc_instance = vlc.Instance(command_line_options) File "/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 1359, in __new__ return libvlc_new(len(args), args) File "/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 3355, in libvlc_new ctypes.c_void_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p)) File "/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 211, in _Cfunction raise NameError('no function %r' % (name,)) NameError: no function 'libvlc_new'
Fixing the Problem
The workaround is really simple: install VLC.
Missing VLC on Windows
If you were previously using VLC in Windows, and now can no longer play any media, this is probably due to a problem that arose when building OpenLP for Windows.
Diagnosing the Problem
When OpenLP starts you'll see an error window appear, and there should be a traceback like the one below:
Traceback (most recent call last): File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\servicemanager.py", line 1462, in on_make_live File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\servicemanager.py", line 1478, in make_live File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\slidecontroller.py", line 808, in add_service_manager_item File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\slidecontroller.py", line 896, in _process_item File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\slidecontroller.py", line 1360, in on_media_start File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\media\mediacontroller.py", line 376, in video File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\media\mediacontroller.py", line 532, in _check_file_type File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\media\mediacontroller.py", line 345, in resize File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\media\vlcplayer.py", line 234, in resize AttributeError: 'MainDisplay' object has no attribute 'vlc_widget'
Fixing the Problem
The fix for this is really easy. We've already re-built OpenLP for Windows with a fix. Just re-download OpenLP and re-install it.
NB Make sure your are using the 32-bit version of VLC. OpenLP on Windows is a 32-bit application.
Missing Media Player
In some instances you might find that you cannot play any videos.
Diagnosing the Problem
When you try to play media, you get an error message like this:
File type unsupported
Fixing the Problem
Some of the older built-in media players aren't currently supported in Windows and Mac OS X. If you encounter this, simply download and install VLC, restart OpenLP, and you should be able to select VLC as your media player.
NB Make sure your are using the 32-bit version of VLC. OpenLP on Windows is a 32-bit application.
Rolling out Fixes
We're really busy trying to track down and fix these issues, but as you can imagine it's not always that simple or that easy, so please be patient. We are hoping to get a release out by the end of next week. In the case of the translations, if you speak that language, please can you check out the project on Transifex and see if you can help fix it.
Thanks for your patience and your support!
[ Image Credit: Coccinella - Lady bug, Macro ]
Comments
Comments powered by Disqus