Universal Media Companion, (a unified media manager), who wants to help code this?

  Thread Rating:
  • 3 Votes - 4.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Question  Universal Media Companion, (a unified media manager), who wants to help code this?
Post: #1
Since nobody open a new topic about this then guess I have to do it, lets discuss creating a completely new media manger.

So the first question is who here want to help with the programming of it? This will be a joint effort by a third-party team!

If you are a code programmer and might are interested in helping out, please write a reply comment to this thread Big Grin

Thanks / mafis90
(This post was last modified: 2009-07-30 13:27 by Gamester17.)
find quote
fekker Offline
Posting Freak
Posts: 1,545
Joined: Oct 2008
Reputation: 30
Post: #2
----------------------------------------------
**UPDATE Nov 3, 2009**
Team umX website and forums are up and running at http://www.teamumx.org

For additional information and details on the Universal Media Manager (UMM) please visit our site and forums.

Thanks!
Fekker

----------------------------------------------


To quote Gamester17
Quote:I would just love it if all the media manager and NFO generator developers got together to work on the same open source project collectively, (sharing the media info scrapers with XBMC, so same common XML files), ...one media manager to rule them all.

There is a few folks that make current media manager software that have already expressed interest in doing a unified media manager for desktop use that would be available as larger open source project with many contributing developers attached, to compete with commercial offerings like MyMovies, BolideSort's All My Movies, and Invelos Software's DVD Profiler

Overview of what I think would be good requirements:
  • Modular code/library design.
  • Separating the 'core' backend from the GUI frontend interface(s) with a well documented API so that also others can write third-party interfaces for the 'core'
  • Visual Studio (.NET 2.0) or/and MonoDevelop (Mono and .NET 2.0 framework compatible for cross-platform capability) for the core backend.
  • Multiple Interfaces (Basic, Advanced, Everything) in the default frontend client.
  • Uses XBMC scraper XML files 'as is' by default.
  • The core coded from scratch (although a lot of functions can be re-written based off current apps).
  • Dynamic media reading (once a path is entered the app takes care of the rest, without or with minimal user intervention to add/update/remove/change any parts).
  • Possible direct tie in to XBMC's SQLite databases, though this is not really a must, but optional.

Support Media Types:
  • Adult Movies
  • Movies
  • TV Shows
  • Home Videos
  • Music Videos
  • Music
  • Games
  • Emulators (Arcade ROMS)

Few cool brainstorming ideas for the frontend GUI client:
ASP.NET, AJAX, JavaScript, PHP, or similar would be awesome for a main WebGUI that would be cross-platform and look the same on all platforms

List of developers who volunteered to possibly help out with for this project so far:
fekker (original developer of Media Info Plus media manager)
billyad2000 (original developer of Media Companion media manager)
mafis90 (original developer of iMedia media manager)
rernst (original developer of MediaReader media manager)
euphoric (original developer of nfoScrape media manager)
Nicezia (open source ScraperXML scraper framework and API library based on and compatible with XBMC's scraper framework)
Montellese
zitroneneis
Bram77
royw
MPauley73
mediacoder
emigrating (original developer of myTV, a MCE plugin)
BliBlaBlo (Mac developer)
Cheesekun (VB/PHP/SQL developer)
redtapemedia (graphics, photoshop, logos, GUI layout mockups, etc. a non-programmer)
(This post was last modified: 2009-11-20 00:18 by fekker.)
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 9
Location: Sweden
Post: #3
Question: Will the core be coded in .NET? Which programming language, and which .NET framework version/platform?

I think that C# is probably best just because MediaPortal and MeediOS uses it (and it is of .NET most similar to C++).

Also separate the 'core' backend front the frontend 'GUI' and make them run standalone from each other.

Suggestions:
- Don't call it "XBMC" something as I'm sure that Boxee, Plex, MediaPortal, and MeediOS user will want to use it as well if turns out good, and I think that it will probably better to share one common media manager between all these projects, and much easier for all users.
- Use the Mono framework as default if it's going to be coded in dotnet, that way it should work on Linux, Mac, and Windows for cross-platform domination(!).
- If possible make it have a Web based GUI interface, with it supporting multiple platforms out-of-the-box, (which should be easier if it uses a WebGUI by default), and as a bonus it should be accessible from any web browser, even over the internet.
- Make it as modular as possible, dynamic libraries, and separate the backends from the GUI with an API so others can write scripts/plugins for it or even a new GUI, (which means that your default GUI should also only use this API).
- Use XBMC's scraper API so that you can reuse XBMC's XML scraper format files without modifications.
- Hash the files so there is no need to scrape meta data for a file again if it has been moved, (and use XBMC's hash method if possible so that the hashes are the same).
-Make use of the MediaInfo library or similar to extract tags from media files, (especially useful on home movies that can not be scraped online). The MediaInfo library is cross-platform and can be compiled as a dynamic library for Linux, Mac, and Windows.

Best of luck and happy coding!

PS! Here is a list of existing media managers for XBMC (threads that been tagged with "media manager"):
http://forum.xbmc.org/tags.php?tag=media+manager

Good for reference and for hunting volunteers Wink
(This post was last modified: 2009-07-28 15:28 by Gamester17.)
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,479
Joined: Feb 2008
Reputation: 64
Post: #4
frak .net and use qt4. then it would work on more platforms that just windows


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Post: #5
Yes, qt4 is a good idea because normal win forms are crappy with mono under Linux,Mac Osx,...

mafis90
find quote
fekker Offline
Posting Freak
Posts: 1,545
Joined: Oct 2008
Reputation: 30
Post: #6
davilla Wrote:frak .net and use qt4. then it would work on more platforms that just windows

I'll have to do a hello world in qt4, never used it before, not even sure what it is
find quote
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Post: #7
Qt can be used with .net for the Interface. So we have no problemes with the interface on other plattforms.
(This post was last modified: 2009-05-05 21:07 by mafis90.)
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 9
Location: Sweden
Lightbulb  I might as well spam this thread too with this idea that I posted in Boxee's forum...
Post: #8
http://forum.boxee.tv/showthread.php?t=991
Gamester17 Wrote:"Boxee Media Companion" - a Tag Editor and Media Server as a separate software app

Please bare with me and read through this concept, as I would like to float this great idea I have of Team-Boxee making its own stand-alone "Boxee Media Companion" software application which would act both as a 'Tag Editor' and 'Media Server' multimedia collection management application that end-users could install and run separately on their Linux/Mac/Windows desktop computers.

Kind of like the popular Media Companion and Movie Info Plus for XBMC however for all digital video/music/picture files, and also the ability to write and edit the metadata tags/atoms inside the media files (like the ID3 tag in an MP3 file, ATOM in an MP4 file, and EXIF in an JPEG file), as well as more importantly a built-in DLNA compliant UPnP AV MediaServer.

The point of adding the UPnP AV MediaServer part is that it would serve as a very easy way for average users to share multimedia content to Boxee on their network, this UPnP AV MediaServer part would then always run in the background as a small agent serving the media files even when the "Boxee Media Companion" GUI is not running.

This "Boxee Media Manager" software be made up of cross-platform compatible code and programmed in C++ programming language, (with maybe Python and RSS as add-on plugins), same as the Boxee software is.


"Boxee Media Companion" a stand-alone multimedia collection management application:
This is maybe off-topic but; would Team Boxee could do later is to also add extra features to the above mentioned idea of a "Boxee Media Server" (UPnP MediaServer) software application, features that have nothing directly to do with sharing but instead really to do with managing your collection of video/music/picture files, (which indirectly benefit the whole Boxee 'experience').

I am suggesting that this "Boxee Media Companion" should have features that will not be added to the Boxee Media Center software itself (which is again normally only installed in a set-top-box style setup with no locally stored video/music/picture files), but instead I am suggesting a stand-alone software application meant to be installed on the end-users home desktop computer and used to manage and edit meta data tags, referring to the home desktop computer where you store your media on, (so kind of like similar to iTunes but without the playback functions).

It would features such as music and video file TAG editing, customize their thumbnails, EDL (Edit Decision List) modifying, attaching subtitles, and more of such related features that one does to manage your collection of video/music/picture files. Small and useful, but powerful features that make it simpler for a user to manage their large collections of media content.

More features could be include in this desktop computer application like ripping Audio-CDConfused (since Boxee set-top-box might not originally have a built-in CD/DVD-ROM drive), media format/codec conversion tool, ...and who knows, in the future it could maybe even be made to rip DVD-VideoConfused and Blu-ray discs as well, (though that might require a third-party plugin like Slysoft's AnyDVD to keep it legal from Boxee's point of view), or perhaps also transcode unsupported and DRM protected files on-the-fly while streaming over the network by using other third-party plugins.


"Boxee Media Server" a stand-alone UPnP Server application:
One of the most common 'hurdles' and usually the first 'learning curve' issue that XBMC (and thus also Boxee) newbie end-users bumps into with XBMC is setting up a share(s) for their multimedia files on their desktop computer and then access/connecting to those shares from their dedicated XBMC machine (which is usually installed in a set-top-box style setup with no locally stored video/music/picture files).

This issue would easily be solved if Team Boxee produced its own simple-to-use UPnP MediaServer as a stand-alone software application (for the common desktop operating-system, meaning Windows XP/Vista, Mac OS X, and GNOME/KDE on Linux), as then it would make it so much simpler for first time users and beginners to get up-and-running with setting up a share (or several shares) on their home desktop computer.

Then in Boxee you can have a big button under "Add Source" in where it says "Add connection to Boxee Media Server" or something similar which when selected automatically detects and adds that source to your video share if you are in the video section, or music if you are in the music section, etc.. Usually you would want to setup three shares on your computer, one for audio/music, one for video/movies, and one for images/pictures, and have those three separated already in the UPnP MediaServer application graphical interface. Nice with installing an server application on your computer is that this software will of course also configure the (windows software) firewall settings for the end-user already during installation of the application.

Another nice thing for end-users about a having a UPnP server as a media sharing server is that the can re-sort the files and folder 'virtually' in the application interface without moving the actual files, it will be very easy for them to setup muli-path shares where they have their all their picture folder from different local harddrive look like it in the same folder, etc. (yes I know you can already do multi-path inside XBMC but I think that it would be so much simpler for most users to manage and edit their files (and file shares) on a desktop computer with keyboard and mouse in a drag-and-drop interface, which this stand-alone software application would provide.

The GUI for this UPnP AV MediaServer part should of course also offer the ability to change access permissions based both on the user and on what player is connected.

Boxee developers would probably want look at FUPPES, or MediaTomb, as I think one of those would probably make a good framework for you to work form as the code base, (similar to how Boxee use XBMC as the framework for the Boxee Media Center code base), or otherwise start by looking into libupnp (plus LibUPnP++ Framework) and uShare to use its source code base to build upon, (or just use Platinum UPnP Framework that XBMC uses. Alternative do a search for UPnP on SourceForge.net, in any it would be preferable if you choose one that only uses C++ programming-language so that Team-XBMC could assist if needed.


Boxee specific functions:
You could also add an an option to backup or edit your Boxee account information from this application (export and import function), make it easier to add custom RSS feeds, be of assistance to plugin developers, easy access to boxee.tv wiki section for online help and such. Maybe even access advanced configuration not available in the normal Boxee GUI like edit keymapping and the advancedsettings.xml file. Perhaps a support chat room, and other Boxee community chat rooms.


Why not integrate this into Boxee's existing media center GUI?:
So why do I think that this "Boxee Media Companion" should be a a separate software application from Boxee's Media Center software; well I personally do not think it is not the job of a media center softwar to write metadata to media files, in I am in fact of the opinion that a media center software should not touch any of the files or folder structure, editing the tags of media files is the job of a separate desktop software application that is not a media center. Boxee media center software should only write to its SQL databases and at most be able to export those SQL databases into XML formatted NFO files like XBMC can, see:
http://wiki.xbmc.org/?title=Import_-_Export_Library

How this could still possibly be integrated into Boxee's existing media center GUI?:
I have not tested My Movies 2 myself (yet) but it sounds like a cool application because it seem to feature something they call "My Movies WebService" which if I understand it correnctly from the description would be a superb solution for the "Boxee Media Companion" concept, as then the idea would be changed so that instead of making "Boxee Media Companion" a stand-alone desktop software you would make it as an PHP, AJAX, and/or JavaScript website and have that ship with Boxee's built-in WebServer. That way there would be no need install any separate software for the "Boxee Media Companion" as it would just be a web service that comes with Boxee, which also makes it platform-independent without modification. There is actually a basic open source web tool on SourceForge available for XBMC that does something similar (but is not quite yet so developed), it is called "Music Browser" and can be used to access XBMC SQL databases for controlling the XBMC Music Library. Checkout: https://sourceforge.net/projects/musicbrowser/

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Post: #9
Gamestar, how do you mean this post ?

mafis90
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 9
Location: Sweden
Post: #10
mafis90 Wrote:Gamestar, how do you mean this post ?
You mean my copy and paste from the Boxee forums? If so then I mean the first part about "a stand-alone multimedia collection management application" that could also have the capability to rename and move files/folders, (something that XBMC does not), as well as edit embedded tags in music and video files (such as ID3 for MP3 audio files, and ATOMS for MP4 video files), kind of like iTunes on speed.

...then (much) later once the media manager side is nailed down one could perhaps integrate a UPnP MediaServer in it to make it usable for PS3 and Xbox360 owners and other stand-alone players with UPnP-clients too, but there is no need to discuss that today (or even this year).

PS! Maybe try inviting RUNTiME (Albert Griscti-Soler, one of the retired XBMC founders) to join this project? He coded a UPnP MediaServer for Xbox360 in C# (Transcode 360) and I seen him lurking in this forum recently.

fekker Wrote:Direct tie in to xbmc mysql database
Not sure if this is currently possible without first adding a ADOdb SQL database abstraction layer API or similar to XBMC as it locks the databases:
http://forum.xbmc.org/showthread.php?tid=29107

Confused ...and yes XBMC currently uses SQLite.
(This post was last modified: 2009-07-28 15:26 by Gamester17.)
find quote
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Post: #11
@fekker we have to thinking about the intercafe that we use qt or gtk# because qyoto hasn't good a documentation and it`s not so easy to use, gtk# is like win forms so it`s the standard interface of mono and so it`s easy to use :-D
(This post was last modified: 2009-05-05 21:57 by mafis90.)
find quote
ould Offline
Senior Member
Posts: 103
Joined: May 2008
Reputation: 0
Post: #12
This sounds like a great idea. Please try to make it cross platform. Currently there doesn't seem to be a "Media Manager" which runs under Linux. I currently use a virtualbox windows install to run them which works but it is not ideal. Also it would be nice to have a command line function for unattended scheduled updates after the initial setup has been done. So if you are downloading new tv shows regularily you can have the program run and update the new episodes. I know MIP has something like this but I haven't played with it too much, the interface seemed too busy and I had some crashes with it which could be due to me running it in virtualbox so I went back to MediaCompanion for the time being. I wish I could contribute but I can code about as well as I can draw, which I can maybe draw a stick figure on a good day.
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 9
Location: Sweden
Post: #13
mafis90 Wrote:@fekker change qt to gtk# because qt hasn't good a documentation and it`s not so easy to use, gtk# is like win forms so it`s the standard interface of mono so it`s easy to use :-D
FYI; Qyoto is a binding for C# or other .NET languages for Qt4.
http://techbase.kde.org/Development/Languages/Qyoto
http://en.wikipedia.org/wiki/Qt_(toolkit)

...I heard that GTK is awful, ...would it not be possible to only write a WebGUI in ASP.NET and simply make that the main interface? So make the WebGUI the only default GUI interface, that way there is no need to maintain a separate WebGUI that is then destined to get neglected (like the web interface in XBMC has).

Confused

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
(This post was last modified: 2009-05-05 21:59 by Gamester17.)
find quote
mafis90 Offline
Senior Member
Posts: 117
Joined: Aug 2008
Reputation: 0
Post: #14
ASP.NET as main interface hmm, that`s an idea for an good interface, but is that needed ?
I see there a many things to discuss.

@gamestar That was a failure from me, i heared from a friend, that qt has a good documentation but qyoto hasn't it
(This post was last modified: 2009-05-06 14:59 by mafis90.)
find quote
royw Offline
Member
Posts: 75
Joined: Feb 2009
Reputation: 0
Post: #15
ould Wrote:This sounds like a great idea. Please try to make it cross platform. Currently there doesn't seem to be a "Media Manager" which runs under Linux. I currently use a virtualbox windows install to run them which works but it is not ideal. Also it would be nice to have a command line function for unattended scheduled updates after the initial setup has been done.

I have the start of one, it scrapes from exported DVD Profiler data, then from IMDB, then from themovieDB with a little extra attention to match the movie with the correct IMDB ID. Scrapes are cached locally for performance. This is a ruby command line script. http://github.com/royw/dvdprofiler2xbmc
find quote
Post Reply