From MythTV Official Wiki
Revision as of 03:54, 28 April 2006 by Isaac (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Google Summer of Code 2006

MythTV was selected as a mentoring organization for Google's Summer of Code 2006. The following are proposed projects from MythTV developers, though student write-ins are certainly encouraged if you've got better ideas. Just email the mythtv-dev list or contact Isaac if you have any questions.

These projects should all be fairly time consuming - we're looking for people that can dedicate the majority of their summer to MythTV. Development assistance will be available through email and IRC.

Proposed Projects

Settings Rework/Enhancements

Myth is.. configurable. Quite often, it's way too configurable. Pages upon pages of settings for the user to play with just get confusing. Simplifying the settings UI is a must. This is a two-part task. First, simple and advanced modes of configuration should be created, with the majority of the various options being hidden in simple mode. The second part of this project will be rewriting the underlying code to make the user interface more like the Scheduled Recordings interface, which is much easier to use than the current wizard-style settings UIs.

  • Skills: C++, some SQL
  • Mentor: Isaac Richards

Automatic configuration

The initial configuration stage (mythtv-setup) could be made simpler though automatic tuner card detection and configuration. The setup process also requires configuration of IP addresses/ports/etc of the backend services, and this also could be made automatic through the use of zeroconf/random discovery service/whatnot.

  • Skills: C++
  • Mentor: Isaac Richards

UI rewrite

This project is part of a more extensive on-going development effort. Myth has a new UI backend (called libmythui), and everything is slowly being rewritten to use this. This new backend allows multiple 'painters' that do the actual drawing - OpenGL and Qt based painters have been written. Using the OpenGL painter, a more modern/advanced UI is possible. At the same time, the process of rewriting converting Myth's UI to this new backend will allow everything to be made more consistant. This migration to libmythui can be done in stages (down to single screens at a time), so a student working on this project could choose whatever sections of the existing UI presentation code they'd like to rewrite - a few plugins, some of the core UI code, etc.

  • Skills: C++, XML (the theme definitions)
  • Mentor: Isaac Richards


One of the big complaints about MythTV is that people don't like how MythMusic works. Well, here's your chance to change that. This project will involve the design and implementation of a new UI for MythMusic. This includes making it possible to exit the player without stopping playback (a not that difficult task), and possibly supporting the existing 'mfd' module that used to be under development as a backend for media playback/ripping/burning/itunes support/etc.

  • Skills: C++
  • Mentor: Isaac Richards

MythWeather enhancements

MythWeather's been sort of dangling unmaintained for a while now. It'd be nice to enhance it in various ways. Split data retrieval out into separate scripts, so more than one source of weather data could be used. Download data periodically in the background, so data's always available. Support multiple locations. Additional data/map display. That sort of thing.

  • Skills: C++
  • Mentor: Isaac Richards