9.1 KiB
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):"<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
File 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 Enter - Navigate 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 English - Save 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 English - Save 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):"/usr/bin/openlp", line 44, in <module>
File
main()"/usr/share/openlp/openlp/core/__init__.py", line 384, in main
File
sys.exit(application.run(qt_args))"/usr/share/openlp/openlp/core/__init__.py", line 142, in run
File 'bootstrap_initialise')
Registry().execute("/usr/share/openlp/openlp/core/common/registry.py", line 137, in execute
File = function(*args, **kwargs)
result "/usr/share/openlp/openlp/core/lib/pluginmanager.py", line 60, in bootstrap_initialise
File self.hook_media_manager()
"/usr/share/openlp/openlp/core/lib/pluginmanager.py", line 122, in hook_media_manager
File
plugin.create_media_manager_item()"/usr/share/openlp/openlp/core/lib/plugin.py", line 204, in create_media_manager_item
File self.media_item = self.media_item_class(self.main_window.media_dock_manager.media_dock, self)
"/usr/share/openlp/openlp/plugins/media/lib/mediaitem.py", line 56, in __init__
File super(MediaMediaItem, self).__init__(parent, plugin)
"/usr/share/openlp/openlp/core/lib/mediamanageritem.py", line 82, in __init__
File self.setup_item()
"/usr/share/openlp/openlp/plugins/media/lib/mediaitem.py", line 86, in setup_item
File self.media_controller.setup_display(self.display_controller.preview_display, False)
"/usr/share/openlp/openlp/core/ui/media/mediacontroller.py", line 322, in setup_display
File
player.setup(display)"/usr/share/openlp/openlp/core/ui/media/vlcplayer.py", line 147, in setup
File = vlc.Instance(command_line_options)
display.vlc_instance "/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 1359, in __new__
File return libvlc_new(len(args), args)
"/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 3355, in libvlc_new
File
ctypes.c_void_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p))"/usr/share/openlp/openlp/core/ui/media/vendor/vlc.py", line 211, in _Cfunction
File 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):"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
File 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 ]