Action Item #542
Port to new db formats from VideoLib
Status: | Closed | Start date: | 23 Aug 2016 | |
---|---|---|---|---|
Priority: | Immediate | Due date: | ||
Assignee: | % Done: | 100% | ||
Category: | Database | |||
Target version: | PiBox - 0.11.0 | |||
Severity: | 01 - Critical |
Description
VideoLib now has separate subdirs under a videolib directory that hold files for each video. Each video has JSON in it. For movies it's just one line of JSON. For TV episodes it's multiple lines.
Associated revisions
RM #542: Add menu bar that works with TAB to switch between Movies and TV Episodes. It's just the menu, but it's Cairo based so the same events work on it as the rest of the interface. This was required prior to designing a way for working with either types of db formats.
RM #542: Fix bug when calculating size of buffer for image paths.
Test required fields and mark entries valid or invalid.
Skip adding entries to display list if they are marked invalid.
RM #542: Add valid field to movie and episode structs.
RM #542: Add valgrind support for checking for memory leaks. Use gtk suppression file to skip gtk-and-friends when
looking for leaks.
RM #542: Fix buffer overruns in genVideo. Change program flow to make free'ing buffers cleaner.
History
#1
Updated by Hammel over 4 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
Added a Cairo-based menu to switch between Movies and TV Episodes. You can switch between them with simple TAB key. This is functionally the way that Plex does it - separate the two database types. That means I can now read in the directories that hold each type of dbs. I can then read in the dbs into separate structures and quickly switch between them.
Next up: make a list of directories for each db type. I'll need some test directories under data/ for that.
#2
Updated by Hammel over 4 years ago
- % Done changed from 10 to 70
This is complete but could use more testing. The db now utilizes the JSON data generated by VideoLib, which makes the db handling much cleaner. The UI now supports switching between Movie and TV episodes as separate DBs using the TAB key (implemented with Cairo, which made it much easier than using GTK widgets). And TV episodes now show their poster.
There are likely a lot of little bugs that need to be shaken out, but the port is basically done. And there are lots of nice-to-have features that could be added, like adding the Series poster above the TV episode poster (which is generally just a screen shot) and adding the overview to the display.
But this port is done.
Now I need to build a package that can be tested on hardware with a new-format db on a USB stick. Once that's verified working I can merge mjhammel/tvdbcom branches for videofe and videolib into master and then close this issue.
#3
Updated by Hammel over 4 years ago
- Status changed from In Progress to Closed
- % Done changed from 70 to 100
Package is ready for test. SD card for RPI2 is ready to boot and install new package. Just need to sit down and do it.
I also added the overview to the display for both movies and episodes, along with the series poster above the episode image for episdoes.
#4
Updated by Hammel over 4 years ago
- Status changed from Closed to In Progress
- % Done changed from 100 to 90
#5
Updated by Hammel over 4 years ago
The code crashed on hardware because the DB was slightly old - it was missing the overview field. So I need to check the code to make sure it doesn't crash when data is missing from the db.
And I need to update the db to copy in the updated versionsl
#6
Updated by Hammel over 4 years ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
Tested on hardware. Fixed a number of buffer overruns (off by 1 errors). Everything is working fine now. In fact, it works really well with posters, overview and swapping between movies and tv episodes. Pretty slick.
Committed and pushed.
Merged with master.
Closing issue.