GSoC:2012 Ideas

From OpenLP
Jump to: navigation, search

To get an idea of how to set up this page, look at the KDE GSoC 2011 Ideas page.

Guidelines

Information for Students

Adding a Proposal

Use the GSoC_Idea Template.


Ideas

Portability

Portable Application
Brief explanation:
Ability to run OpenLP without installation.
Expected results:
Run Windows build from USB flash drive. All data (including settings and logs) is kept on flash drive and the path to OpenLP might contain non ASCII characters.
Knowledge prerequisite:
Python, basic C/C++, PyInstaller, Windows
Skill level:
Intermediate
Mentor:
Martin

OpenLP uses PyInstaller to create builds for Windows and Mac OS X. This task may include some patches for PyInstaller. See http://portableapps.com/ for more about Portable Apps.

Advanced VLC Integration

DVD and Video Feeds Support
Brief explanation:
Add functionality like DVD and live video feeds to the VLC integration in OpenLP.
Expected results:
The ability to play DVDs in OpenLP via VLC, or to show a live video feed.
Knowledge prerequisite:
Python, VLC integration, Qt4
Skill level:
Challenging
Mentor:
Raoul

Keep in contact with the entire development team, as this is a particularly complicated piece of work.

Background Video using VLC
Brief explanation:
Currently only WebKit can be used to display text-over-video. Unfortunately the performance of WebKit and the number of video formats it supports are lacking. With the new VLC integration in the media plugin, it would be nice to be able to configure OpenLP to use VLC for text-over-video instead of WebKit
Expected results:
The user should be able to set OpenLP to use VLC for text-over-video, and VLC should be used to display said video.
Knowledge prerequisite:
Python, Qt4, VLC
Skill level:
Medium
Mentor:
Raoul
Use VLC for Background Audio
Brief explanation:
Currently OpenLP uses Phonon for playing background audio (backing tracks for songs). It is desired that OpenLP can be configured to use VLC instead.
Expected results:
The user is able to select VLC as a way to play background audio, and VLC is used to play the audio
Knowledge prerequisite:
Python, Qt4, VLC
Skill level:
Medium
Mentor:
Raoul

Enhancing Songs

Support for Parts, Translations, and Transliterations
Brief explanation:
A support for songs with multiple parts, with translations and with transliterations.
Expected results:
Implementation of a new theme format including the slide rendering and slide wrap and a corresponding theme configuration dialog.
Knowledge prerequisite:
Python, Qt4, HTML & CSS
Skill level:
Challenging
Mentor:

The basic editor infrastructure is already implemented by me (M²j) but might be enhanced. Additional work like enhancing song import filters for parts and translations or Google Translator supported translations are possible.

Chord Support in Songs
Brief explanation:
Currently OpenLP has no ability to store guitar chords in songs and display them on various screens. The internal format which OpenLP uses to store Lyrics needs to be enhanced to support chords.
Expected results:
Edit chords in OpenLP and display chords on presentation screen and/or stage view.
Knowledge prerequisite:
Python, chords
Skill level:
Medium
Mentor:
Musical Notation
Brief explanation:
Extend internal data format with chord data.
Expected results:
Hold music notation together with the song in OpenLP. Display this notation when requested by the application.
Knowledge prerequisite:
Python, musical notation
Skill level:
Medium
Mentor:

Miscellaneous

Song Export/Import Tests
Brief explanation:
OpenLP supports import of songs from many different formats. It is desirable to ensure code stability of song export/import.
Expected results:
Song examples in several different formats and automated tests for export/import of them to/from OpenLP.
Knowledge prerequisite:
Python, testing frameworks, alternative worship applications
Skill level:
Difficult
Mentor:
Martin

Keep in contact with the entire development team, as this requires refactoring of many different code parts.

Macro/Scripting Capabilities
Brief explanation:
Expected results:
Knowledge prerequisite:
Python, Qt4, PyQt4
Skill level:
Medium
Mentor:
Web Browser Plugin
Brief explanation:
Expected results:
Knowledge prerequisite:
Python, Qt4, PyQt4
Skill level:
Medium
Mentor:
Custom Slide Import/Export
Brief explanation:
Expected results:
Knowledge prerequisite:
Python, Qt4, PyQt4
Skill level:
Medium
Mentor:
Countdowns
Brief explanation:
Expected results:
Knowledge prerequisite:
Python, Qt4, PyQt4
Skill level:
Medium
Mentor:
Enhanced Theme Designer
Brief explanation:
The current wizard-based theme configuration is very easy to learn but is more limited for advanced users. This project would require significant re-working of the underlying theme code.
Expected results:
Retain wizard-based theme editor, and add an advanced mode that gives greater power and flexibility (cf Powerpoint/Impress) along with a WYSIWYG interface or preview.
Knowledge prerequisite:
Python, Qt4, HTML & CSS
Skill level:
Difficult
Mentor: