[mythtv-users] Call for Contributors (MythVideo, MythGame, MythMusic) and Scripters, *** A Challenge ***

Robert McNamara robert.mcnamara at gmail.com
Mon May 31 19:15:07 UTC 2010


*** This is not a solicitation for feature requests, or a request for
a list of the things that you think would be "nice", it's a call to
those who have perl and/or python scripting talents who want to see a
richer metadata experience in MythTV ***

Hello Everyone,

I wanted to make the community as a whole aware that for the past
several weeks I've been working on a "universal" metadata grabbing
infrastructure for MythTV.  The idea behind this work is to provide a
generic metadata framework that the recordings screens, MythVideo,
MythMusic, and even plugins like MythGame can hook in to and easily
use.  The core functionality is working extremely well so far, and
Doug Vaughan has worked hard on our two primary scripts, tmdb.py and
ttvdb.py, to make them compatible with this new format.

What will this mean?  Not all of these are parts of the initial
implementation, but they are very, very doable:

** Fully automatic metadata grabbing for all of mythvideo with a
couple of keystrokes (no user intervention required)
** Interactive selection of artwork in MythVideo (with both mass
metadata and single metadata modes)
** Proper download and assignment of artwork to recordings without
reliance on name matching logic
** Easy addition of metadata grabbing to MythMusic, MythGame, and future plugins

Here's now the new metadata system works.  Any plugin or MythTv window
starts a metadata grabber thread, which acts as a first come, first
serve queue for metadata lookups.  The user of the thread can queue up
a giant list of queries and the thread will handle them.  There are a
lot of nice features like configurable fuzzy name matching, fully
automatic mode, interactive mode, and substantial clever logic to
remove the need for things like "title subtitle search" in MythVideo.
The metadata class will figure out what it's got, and return a fully
populated metadata object for use by the plugin.  The programmer is on
the hook for a few dozen lines of code at the most to implement
metadata lookup.

This is where you come in.  As several of you have contacted me over
the past year to ask about writing metadata grabbers like the
MythVideo grabber for other plugins, and I have been promising for all
that time that I would complete this project, I am issuing a
challenge:  If you want to see official support for a metadata source,
provide a compliant grabber (which is also Terms of Service compliant)
and I will get any unimplemented functionalities needed implemented
and include your script.  Ideally the scripts will be in Perl or
Python as they are the easiest for us to support.  This is not a swipe
against bash, it's just not the easiest thing for us to maintain if
you get hit by a bus.

Because the rewrite of the metadata format is a massive departure from
our existing MythVideo scripts, all of the existing movie scripts will
need to be scrapped.  If you don't want to see this happen, I invite
you to rewrite your movie grabber script to conform to the universal
format.

I would like to see grabbers written for MythMusic and MythGame.
Because MythMusic is in the middle of a rewrite, I will need to
coordinate with Paul on how or whether he wishes to hook into this
format, but it has been designed with music, video, and game metadata
in mind.  In particular, I would like to see a MythGame grabber
implemented.  If you write one, I'll get support added to MythGame.
Here is an API that I believe is an attractive target for a mythgame
grabber, but if you know of others, have at it:

http://api.giantbomb.com/

Also, I think the TVRage API would make a good alternative TV grabber
if anyone wants to get us a grabber for them:

http://services.tvrage.com/

Here is the grabber script specification.  You can contact me on the
developer list, and I will try to answer any relevant question.  Doug
Vaughan is likely also to have some input on best practices and how to
handle some of the data.  Let's see what you are made of. ;)

http://www.mythtv.org/wiki/MythTV_Universal_Metadata_Format

Robert


More information about the mythtv-users mailing list