[mythtv-commits] mythtv commit: r23123 - in trunk/mythplugins by robertm

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Wed Jan 13 22:16:21 UTC 2010


      Author: robertm
        Date: 2010-01-13 22:16:20 +0000 (Wed, 13 Jan 2010)
New Revision: 23123
   Changeset: http://svn.mythtv.org/trac/changeset/23123

Added:

   trunk/mythplugins/mythnetvision/
   trunk/mythplugins/mythnetvision/AUTHORS
   trunk/mythplugins/mythnetvision/ChangeLog
   trunk/mythplugins/mythnetvision/README
   trunk/mythplugins/mythnetvision/i18n/
   trunk/mythplugins/mythnetvision/i18n/dummy.c
   trunk/mythplugins/mythnetvision/i18n/i18n.pro
   trunk/mythplugins/mythnetvision/i18n/themestrings.h
   trunk/mythplugins/mythnetvision/i18n/translate.pro
   trunk/mythplugins/mythnetvision/mythnetvision.pro
   trunk/mythplugins/mythnetvision/mythnetvision/
   trunk/mythplugins/mythnetvision/mythnetvision/dbcheck.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/dbcheck.h
   trunk/mythplugins/mythnetvision/mythnetvision/downloadmanager.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/downloadmanager.h
   trunk/mythplugins/mythnetvision/mythnetvision/grabbermanager.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/grabbermanager.h
   trunk/mythplugins/mythnetvision/mythnetvision/icons/
   trunk/mythplugins/mythnetvision/mythnetvision/icons/bliptv.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/dailymotion.jpg
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/action_adventure.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/animation.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/classics.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/comedy.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/documentaries.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/drama.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/family_films.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/film_festivals.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/foriegn_fiilms.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/horror.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/scifi.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/short_film.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/thriller.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/film_genres/trailers.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/alternative.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/blues_folk.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/classical.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/country.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/easy_listening.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/electronic_dance.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/environmental.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/hiphop.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/jazz.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/latino.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/metal.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/pop.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/rnb.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/rock.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/soundtracks_musicals.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/music_genres/world_reggae.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/animals.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/arts.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/automotive.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/college.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/education.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/entertainment.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/featured.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/games.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/hd.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/howto.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/month.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/most_comments.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/most_recent.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/most_subscribed.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/most_viewed.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/movies.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/music.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/news.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/nonprofit.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/people.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/random.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/rated.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/recent.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/sports.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/technology.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/today.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/travel.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/tv.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/videoblog.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/weather.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/directories/topics/week.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/joost.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/mtv.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/mythtv.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/rss.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/tmdb_nv.png
   trunk/mythplugins/mythnetvision/mythnetvision/icons/vimeo.jpg
   trunk/mythplugins/mythnetvision/mythnetvision/icons/youtube.png
   trunk/mythplugins/mythnetvision/mythnetvision/imagedownloadmanager.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/imagedownloadmanager.h
   trunk/mythplugins/mythnetvision/mythnetvision/main.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/mythnetvision.pro
   trunk/mythplugins/mythnetvision/mythnetvision/netsearch.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/netsearch.h
   trunk/mythplugins/mythnetvision/mythnetvision/nettree.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/nettree.h
   trunk/mythplugins/mythnetvision/mythnetvision/parse.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/parse.h
   trunk/mythplugins/mythnetvision/mythnetvision/rssdbutil.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/rssdbutil.h
   trunk/mythplugins/mythnetvision/mythnetvision/rsseditor.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/rsseditor.h
   trunk/mythplugins/mythnetvision/mythnetvision/rssmanager.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/rssmanager.h
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/bliptv.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/dailymotion.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/joost.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/mtv.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/bliptv/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/bliptv/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/bliptv/bliptv_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/bliptv/bliptv_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/dailymotion/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/dailymotion/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/dailymotion/dailymotion_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/dailymotion/dailymotion_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/joost/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/joost/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/joost/joost_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/joost/joost_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/mainProcess.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/mtv/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/mtv/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/mtv/mtv_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/mtv/mtv_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/test_tmdb_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/tmdb_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/tmdb_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/tmdb/tmdb_ui.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/oauth/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/oauth/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/oauth/oauth_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/vimeo_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/vimeo/vimeo_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/youtube/
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/youtube/__init__.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/youtube/youtube_api.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/nv_python_libs/youtube/youtube_exceptions.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/tmdb_nv.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/vimeo.py
   trunk/mythplugins/mythnetvision/mythnetvision/scripts/youtube.py
   trunk/mythplugins/mythnetvision/mythnetvision/search.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/search.h
   trunk/mythplugins/mythnetvision/mythnetvision/treedbutil.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/treedbutil.h
   trunk/mythplugins/mythnetvision/mythnetvision/treeeditor.cpp
   trunk/mythplugins/mythnetvision/mythnetvision/treeeditor.h
   trunk/mythplugins/mythnetvision/theme/
   trunk/mythplugins/mythnetvision/theme/default-wide/
   trunk/mythplugins/mythnetvision/theme/default-wide/netvision-ui.xml
   trunk/mythplugins/mythnetvision/theme/default/
   trunk/mythplugins/mythnetvision/theme/default/netvision-ui.xml
   trunk/mythplugins/mythnetvision/theme/menus/
   trunk/mythplugins/mythnetvision/theme/theme.pro

Modified:

   trunk/mythplugins/configure

Log:

Add MythNetvision as a BETA plugin.  Note the Beta status, where it will remain for .23 and possibly for a little bit afterwards depending on progress.

That said, MythNetvision is the beginnings of an (official!) Internet Video plugin for MythTV.  It features a fully themeable MythUI component, and uses user contributed scripts to parse and return information for various video sites.  When possible, MythNetvision will offer options to download the video to your hard drive.  When not possible, you can view the content in a browser (MythBrowser preferred).

MNV contains two components-- an Internet video search, and a tree/site view browser.  The site browser is analogous to MythVideo in that it has three themed views.  MNV also supports RSS feeds, since the core of the grabber scripts is the RSS media format.

MNV is very, very, very far from perfect and complete.  It has the following major known issues:

1) It is possible to crash the plugin if you browse too quickly between directories at the exact moment a signal is send back from the thumbnail downloader (critical).
2) It is currently necessary to invoke a refresh of the RSS and Sites manually from the menu. (User Experience/High)
3) The downloader functionality is just a stub.  Right now, a downloadable file just gets dumped into the working directory for the frontend, and played when the download is complete.  The optimal solution to this is to trigger a download by the backend where it is inserted into recordings by an IPTV recorder, which would also allow in-progress downloads to play back. (Medium/possibly not doable in time for .23)
4) The RSS Feed updates require two refreshes of the tree to show up, either by leaving the plugin or running the update twice.  It has to do with the update not being done by the time the tree gets reloaded (User Experience/Low).
5) The included complement of directory icons are way too large sizewise and need to be replaced by pretties equivalents.  This would be a very welcome improvement from those of you who are artistically minded!

With all of the above in mind, please be patient with me/us as this progresses.  I am eager to have you all involved in improving and developing this plugin, but it is definitely taxing my meager skills.  By throwing it open for us all to work on (that includes you, community/users!), it's my hope that we can polish it up by .23 and make it a great platform to build on in the future.  Patches to address *any* issue, especially those found above would be very, very welcome.

The MythNetvision grabbers included are written by Doug Vaughan, who has also written a framework upon which new grabbers can be easily added (see mythnetvision/scripts/nv_python/libs).  The current included scripts are:

DailyMotion
TheMovieDB Trailers
YouTube
Joost
Vimeo
MTV
Blip.tv

I have also received several other grabbers over the past few days via e-mail.  Once we clear up some of the issues with those and verify ToS, it's my hope that we'll be adding several more grabbers to this list.

Enjoy, and I really look forward to improving the plugin further over the next few months.





More information about the mythtv-commits mailing list