I've updated the TV Diary to show some more information, which will hopefully make it more useful.
tvdiary_0.0.2-2_mipsel.opk
I have several series links, including Time Team and The Big Bang Theory, which seem to mix up shows so it's hard to know whether it's one they last broadcast a month ago or one that I haven't seen before.
It's usually a few minutes in that I start getting a feeling of deja vu.
Since TV Diary tracks what I've recorded and what I've watched, I've added an icon against shows with a title and synopsis that I've already watched. It's not an absolutely certain sign that I've seen the show before because some shows (like the News) have the same synopsis every time. And it doesn't pick up where the synopsis has changed just to add [SL] at the end to indicate that it's the signed version of the program. But if you click on the icon it will show you a brief list of the times that a similar show was recorded or played in the past.
I like to know which of the recordings I made are still available to watch, which I haven't yet watched, and which I've deleted without watching because I was pre-warned that I'd get a feeling of deja vu if I started watching them.
To this end I've updated TV Diary to quickly scan the .ts video files under My Videos, and show the relevant icons against the show's listing.
To avoid doing any unnecessary work it caches the details, so it only looks inside videos that have actually changed, and it won't check for changes more than once a minute. I've tested almost filling a 1Tb disk with videos, and it doesn't slow things down much at all.
One thing that has slowed the UI a little is that I've added locking around accessing the TV Diary's own database, since the sqlite3 we use doesn't have any locking built in. So where before the two tables in the TV Diary were updated in parallel, there was a little bit of (harmless) Russian Roulette going on there. Now the DB access is serialized, so one of the tables will have to wait for the other to finish. There's a 15 second timeout to access the DB before downloading the table gives up. This almost never occurs, and I wouldn't mention it except for the fact that the very first time you access the updated TV Diary will probably hit it because the cache of video file details will initially be empty. If I were doing this for a paid for product I'd have the post installation script build the initial cache, but I can't spare the time to fix something that will only occur once. If it times out you will see a message which says "Timed out acquiring exclusive access to the database. Try again later." Just hit the "Today" button and the page should refresh just fine.
Oh yes, there's a "Today" button, and "Prev" and "Next" day buttons too, to make it slightly easier to navigate around.
A situation I sometimes hit is where I've managed to get more than two recordings scheduled at once. Because TV Diary shows you a list of what's going to be recorded it's the obvious place to warn you. The affected programs have a pink background and red warning bar. It's then pretty easy to use the remote control to cancel one of the recordings and have the Humax suggest alternative times that work.
So, I can see, day by day, what was recorded, whether they're possible repeats, whether I've watched them or not, and whether they're still available on disk or not.
But I also want to be able to find those programs on the box and simply watch them.
To that end, I've added the ability to view the inventory of video files that TV Diary is caching in a way that gives me as much information in a useful form that I can relate to the on-screen experience.
You get into the TV Diary's Inventory by clicking on the video available icons against a program.
I'm considering it experimental at the moment. The code's solid, but I'm just not decided about how the UI to get into the inventory should go, and how it relates to the WebIf Browse interface. I don't want to try to replicate the rich web-based functionality. That would be pointless. What I've tried to do is show you the details of TV programs that you can look at while stepping through the Humax's on-screen menu. Hence the thumbnails, date & time formatting and sorting by reverse time (sorry I haven't done alphabetical sorting or by channel).
At the moment the inventory only checks under "/media/My Videos", and the dustbin folder (typically [Deleted items]) is excluded.
You can take a look at a snapshot of my machine at
http://www.wink.eclipse.co.uk/tvdiary/ .
- The most obvious feature is the overlapping recordings, where 2 programs are being recorded and the third is failing to record. The recordings are underway, so it's too late to fix now, but the warning is available for all future recordings.
- The Time Team at Tue 28 Jan 2014 13:25 is currently unwatched, is available on disk, and is probably a repeat.
- Click on the deja vu icon to see when it was previously recorded and watched. (I'm not snapshotting individual programs' deja vu information, so the same sample details appear for all programs.)
- Click on the video available icons to see the inventory. (Again, this is a snapshot, and not taken at the same time as the main details, so don't expect consistency here.)
Under the covers, details are now returned as JSON instead of HTML, so it's far easier to change things, and you could pull down details for your own applications.
I'm currently looking at putting together a teensy little data warehouse to use for displaying the recording and viewing summary statistics that people have been asking for. Going to the raw transaction data every time would probably be rather wasteful.