Centralised Method for Maintaining Watched Status
#1
Hi All,

I love XBMC very much, i've been using it since the old days of XBMP. Until now I've not contributed anything, not because of not wanting to but mainly because of a lack of coding skill and time. Unfortunately i still don't have a great deal of either of these but i may be able to get someone else to do it for me (paid). {preamble almost over now}.

I have an apple TV, a home theatre pc (windows) and an old xbox all running XBMC. There's a number of things i'd love to have for XBMC to make them all sing together nicely, such as saving all the metadata to NFO files to reduce the need for doubleups on scraping and so forth. The main feature i'd really like though is a nice way to share play count/watched status information for tv shows and movies between the three.

My thoughts on implementation was that some kind of sidecar xml file is needed that records an entry each time it's watched. Each entry would need to have:
1)datetime
2)machine/user id
The reason for the machine/user id is so that xbmc would be able to work out if the watched flag was actually relevant to the current user. The idea being that there would be a way to tell each xbmc installation about other installations/users it cares about. It may be possible to do this automatically (i haven't looked into the automatic discovery stuff yet). This way when the file is copied onto a foreign system it would then be considered 'unwatched' but if read by a system on the same lan it would be considered 'watched'.

If it was done right lots of user specific metadata could be recorded in the sidecar file, such as the date it was added to each library, user rating and so forth.

Before i jumped into documenting a breif i thought I'd better post here and get any feedback other's might have.
Reply
#2
This has been discussed at length already - I suggest a search of the forums to track some of these down.

Some very quick notes:

1. Users and machines do not coincide, and nor should they. We already have multiple user support via profiles.

2. The only thing that really needs adding is syncing the play count between multiple machines.

3. UPnP sharing may be an ideal way to accomplish this, though a reasonable amount of work would be needed to update the play count on the upnp server, and ensure that the playcount is sent over to the client.

Cheers,
Jonathan
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.


Image
Reply
#3
Hi Jonathan,

Yeah, i haveseen a few discussions on that, definitely achievable but not without technical hurdles, the first one that comes to mind is how to ensure both are talking about the same file, which would be easy if they were all referenced the same but as we're talking a cross-platform application that isn't guaranteed. I suppose it could be done by comparing the title/year for movies and show/year/season/episode for tv shows and artist/album/track name for music but it seems sort of hit and miss. The other thing about that is, when would it happen? My PC would be fine running dozens of background threads for this kind of thing but i suspect my appleTV and xbox would definitely struggle while playing media.

Kind of a paradime question really. Until a few weeks ago i would have said a database was the only way to go for media information, until i found a decent tool to manage NFO files (Ember Media Manager), now i've got everything in the NFO, which was just as neat and easy to setup as xbmc scraping, and i only have to download things once. That sounds a little short sited but as i said, i do have 3 xbmc machines.

If there were some way to replicate the entire xbmc library between all three machines, or better still host the data in a central spot in the first place, then this wouldn't be an issue. But as it stacks up at the moment, sevral distributed databases aren't any easier to manage than sidecar files.

My view is that if tools are built to manage the sidecar files, such as creation, viewing and most importantly 'erasing', then i see no issue with them. Especially since i've got half a dozen or so for each movie as it is anyway.

Food for thought.
Reply
#4
I completely agree that something needs to be implemented for saving watched status outside of the db. I just had to re-scan libraries on two different machines and re-setting the watched status really sucked. My wife and I went over our list (of ~850 movies) 3 times and still found out later that we forgot to set some movies correctly. :mad:

The frustrating part is that XBMC used to "have this feature" when it read the playcount from nfo files and then devs up and decided to remove it without implementing an alternate solution. Granted, it didn't solve the problem for multiple profile users, but at least us single users had a decent solution. As long as there's the potential for needing to re-scan your files, then there is a need to save the watched status outside the db.
Reply
#5
Hi all,

I've written the first version of the specification which i'm looking for feedback on.

As I've said earlier, I'm not a developer, so i can't develop this (SQL is the limit of my skills i'm afraid). So to develop this I was planning to put up a little bit of money for the job on oDesk.com (which i use regularly). I've not contributed to XBMC development before but i've always wanted to, this is my way of helping.

I was hoping that others might find this useful and contribute to the kitty so we can attract a better quality developer. Alternatively, if someone would be willing to do this for free, I'd be happy to make my contribution to the xbmc general donations pool.

In terms of proceeding, I'd really like the feedback of the XBMC offical devs because i really want this feature merged into the main code base (which I assume requires their approval). It is a 2000 word spec so thanks for reading.

Cheers.
Reply
#6
This guy wrote a scipt/plugin
http://forum.xbmc.org/showthread.php?tid=56565
Reply
#7
Hmm, interesting but it looks like a pain in the backside for the user... I was looking to develop something considerably more seamless than that.
Reply
#8
Yeah I played with it and kinda got lost in all the shuffle. The Dev is pretty good at answering questions, but I sorta lost intrest since I didn't have a huge need for it.
Reply
#9
hobartgeorge Wrote:I've written the first version of the specification which i'm looking for feedback on.

That looks wonderful!
Reply

Logout Mark Read Team Forum Stats Members Help
Centralised Method for Maintaining Watched Status0