Please sign in to comment.
Metadata Lookup: Many, many bugfixes and improvements.
Move all the logic that was all over the place to try to determine if a programinfo/recrule was a movie, television show, or other, and centralize it. There are now two simple functions that can be run on these classes to guess, fairly accurately, which are Television, and which are Movies. This method uses the presence of subtitle, season, episode, inetref, category_type, as well as the same information for the associated recording's rule to decide which grabber is most likely the correct one to run first. We still fall back to the other grabber when we get no result, but this should markedly improve accuracy. the lookup code can now fairly accurately decide when a recording is generic (moreso when that recording's rule has been properly set up with inetref, season, and episode data-- remember, when you set season and episode on a recording rule, even if it's not accurate for the specific recording that the rule is built on, it becomes an indicator to further recordings that they should be looked up as Television. Set up your rules!) I've tested and retested the video edit metadata and automatic grab functionality, as well as the schedule editor and the various permutations of mythmetadatalookup, and not found any regressions-- in fact, I've fixed a number of issues with all of them as part of this fix. Adds a new "subtype" to metadata lookups-- while the MetadataType indicator starts us down the right path, the LookupType subtype helps us to fine tune which grabbers to take, in which orders, once we're there. The good news is that even if this guessing logic were to totally fail, it would still probably produce the right result because of the grabber fallthrough logic. Generic recordings which are determined to be such masquerade as Season 1, Episode 1 for purposes of assigning inetref and artwork.
- Loading branch information...
Showing with 213 additions and 123 deletions.
- +1 −1 mythtv/libs/libmythbase/mythversion.h
- +17 −8 mythtv/libs/libmythmetadata/metadatacommon.cpp
- +16 −0 mythtv/libs/libmythmetadata/metadatacommon.h
- +54 −95 mythtv/libs/libmythmetadata/metadatadownload.cpp
- +1 −1 mythtv/libs/libmythmetadata/metadatadownload.h
- +67 −0 mythtv/libs/libmythmetadata/metadatafactory.cpp
- +3 −0 mythtv/libs/libmythmetadata/metadatafactory.h
- +14 −0 mythtv/programs/mythfrontend/editvideometadata.cpp
- +16 −4 mythtv/programs/mythfrontend/scheduleeditor.cpp
- +2 −0 mythtv/programs/mythfrontend/scheduleeditor.h
- +22 −14 mythtv/programs/mythmetadatalookup/lookup.cpp