[mythtv] Plugin developing howto

Colin Guthrie mythtv at colin.guthr.ie
Fri May 5 07:47:50 UTC 2006


Hi Florin,

Isaac Richards wrote:
> And no, you'll need to do some work in mythmusic.  I wouldn't just put another 
> plugin on top of it.  Separate thread for playback that the mythmusic UI can 
> detach/reattach to would be preferred.

Just to let you know, myself and Jochen are working on some changes to 
MythMusic that we hope will make it into SVN once we are finished 
tweaking and testing.

For sanity's sake, I've set up my own mirrored SVN of the real SVN on my 
home system so that we can make changes and not go insane with the 
amount of crazy patches (see #1699 if you want proof fo the crazyness ;))

At the moment we are changing how Metadata is stored and I doubt there 
will be any problems with merging both our work and your own into 
MythMusic when either of us is done.

Just wanted to keep you in the loop with respect to changes that are 
happening.

I'm still working on a few things before I'd consider the patch "ready":

1). Fix edit metadata (UI and SQL) - When editing and artist/album, need 
to ask the user if they want to update *all* songs by that artist, just 
current album, or just this song, and process the request accordingly.

2). Fix playlists to be more "databasey". We have a nice heirarchical 
database and yet playlists are stored in a text field as a concatenated 
string of IDs separated with commas. Yuk!!

3). General cleanup - Some more cleanups - I've already created a couple 
of static functions to wrap up code used re-implemented in 
smartplaylists, cdrip and editmetadata. I'm fairly sure there are more 
scenarios like this that I can find too.

MythMP3Act - MythWeb port of mp3act:
4). Fix playlists to get rid of the music_playlist table that only 
allowed one "current" playlist and used auto_increment fields for 
ordering in a way that they are not really designed to do: (60%) complete.

5). General cleanup to make code more manageable/understandable and 
prevent SQL injection (it is currently very open to injection attacks 
putting POST data straight into SQL with no formatting (approx. 65% 
complete)

6). In the future I'd like to implement drag/drop support for 
playlists/songs etc. too. This shouldn't be too difficult. But this is 
not needed for the initial commit.

7). Further in the future, I'd like to make a mode in mp3act where it 
can control a frontend. The playlist would be syncronised and it would 
show a song timer etc. But this is definately not required just now ;)

Once that's all done (with the exception of 6 & 7) then I'll post back.

If anyone want's to see it in action so far, my SVN is here:
https://guthr.ie/svn/myth/branches/music-refactor/mythplugins/

Not merged from trunk for a while so some changes may not be in there 
(not sure if there have been any/many tho').

Be warned tho'. I will make changes to your database and some things are 
broken (the above list at the moment).

Col.

-- 

+------------------------+
|     Colin Guthrie      |
+------------------------+
| myth(at)colin.guthr.ie |
| http://colin.guthr.ie/ |
+------------------------+


More information about the mythtv-dev mailing list