this view could not be built (2 Viewers)

MJGraf

Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    Can it be that this was introduced while fixing the issue with matroska tags in SeriesMDE?
    Perfect guess :)
    It was introduced with this commit.
    Two tags were added:
    Code:
    public const string TAG_MOVIE_TVDB_ID = "50.TVDB";   
    public const string TAG_SERIES_TVDB_ID = "70.TVDB";
    But only TAG_SERIES_TVDB_ID is used. I've searched our whole MP2-solution for TAG_MOVIE_TVDB_ID, but it was never used so this was probably an error. I'll replace that one with
    Code:
    public const string TAG_MOVIE_TMDB_ID = "50.TMDB
    and use it for extracting the Tmdb-ID of movies.
    @morpheus_xx : Please scream if this is not correct. You pushed the commit above - the code was written by ChristianH84 on GitHub, no idea who that is here in the forum :)
     

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    I'll replace that one
    This may break the series MDE again, I fear... Without this the SeriesMDE did not read TVDB ID from matroska tags... Don't ask me why but it is so..

    .
    Edit... Maybe the "public const string TAG_SERIES_TVDB_ID = "70.TVDB"" also was missing before this commit and this is what fixes the issue......
     

    MJGraf

    Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    Works like a charm here. I've renamed your movie file to "Test_2.mkv", no nfo-file present and it is correctly recognized as "Avatar - Aufbruch nach Pandora", which can only come from the tmdb-id-tag in the mkv.
    I'll push the changes to GitHub in the next hour or so and will also upload some binaries for testing. @Lehmden : If you test, please note that the example you uploaded some pages back (Roxette Live - Travelling the World") was for me also recognized without my changes here. Not based on tmdb-id, but based on a unique name match on tmdb. What I've done for testing tmdb-ids from nfo-files is taking a dummy mkv file without any tags and a corresponding nfo-file that only contains a <tmdbid> element - no name, imdb-id, etc. As file name I used "Test_1.mkv" (and "Test_1.nfo"). And I got a perfect match :)
    This may break the series MDE again, I fear... Without this the SeriesMDE did not read TVDB ID from matroska tags... Don't ask me why but it is so...
    I don't think so. TAG_SERIES_TVDB_ID is still there - I just modified TAG_MOVIE_TVDB_ID to TAG_MOVIE_TMDB_ID. And there never was a code version just with TAG_SERIES_TVDB_ID. Additionally, for me locally extracting series TvDB-ID from mkv files works - but it would be great if you could test that as well with the test binaries I'll attach later...
     

    MJGraf

    Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    And here we go...
    All changes from the issues discussed in this thread as pushed to a new branch on GitHub.
    The changes are supposed to solve the following issues: MP2-505, MP2-507 and MP2-509 (see explanation on Jira).

    The only thing mentioned here, that I have not (yet) implemented, is making the regular expressions in OnlineLibraries configurable via settings. The reason is that as far as I can see there is a lot that can be improved with these regular expressions when it comes to parsing file and path names for information such as title, year, disc number, etc. But currently, all the regular expressions used for that are spread across different plugins: VideoMDE, MusicMDE, MovieMDE, OnlineLibraries, SeriesMDE, etc.
    What we should do IMHO sooner or later (i.e. as soon as we have a priority system for MDEs - note to self ;) ) is put all this file and path name matching into a separate plugin (e.g. "PathMetadataExtractors", containing a PathMusicMDE, PathSeriesMDE, etc. That way we have all the logic (and regular expressions) used to parse a file or path name in one place. There I would make all regular expressions configurable via settings so that we have these settings in one place, which is MHO much better than having part of it in OnlineLibrariesSettings, another part in MovieMetadataExtractorSettings, etc.

    As to the other changes from MP2-507, I have confirmed that our unit-tests all pass after the minimal change to the TitleYear-Regex.

    Binaries are attached. As usual, stop MP2-Server, replace all files with the ones contained in the attached 7z-file, restart MP2-Server and add a MediaSource to test.
    @Lehmden : As mentioned it would be helpful if you could in particular test the following scenarios:
    • mkv-movie-file without nfo-file, random mkv-file-name and only tmdb-id tagged into mkv.
    • mkv-movie-file without any mkv-tags, random mkv-file-name but with a corresponding nfo-file only containing a <tmdbid> element.
    • mkv-series-file without nfo-file, random mkv-file name and only tvdb-id, season number and episode number tagged into the mkv file (to make sure it still works).
    @JSchuricht : Instead of the binaries above, you can use the ones attached to this post. But you still need to add "imdb" to MovieNfoFileNames in NfoMovieMetadataExtractorSettings.xml to make it work for you.
    Thinking about it: @Lehmden: is there a reason not to include "imdb" as additional "nfo"-file name by default? Currently, if there is no nfo-file with the same name as the video file, it searches for movie.nfo, movie.txt and movie.xml. By adding "imdb", it would also search for imdb.nfo, imdb.txt and imdb.xml.
    Is any of these file names common?
     

    Attachments

    • MDEImprovements.7z
      136.7 KB

    Lehmden

    Retired Team Member
  • Premium Supporter
  • December 17, 2010
    12,554
    3,936
    Lehmden
    Home Country
    Germany Germany
    Hi.
    is there a reason not to include "imdb" as additional "nfo"-file name by default?
    In the old days as no good programs to generate .nfo files exists, MovingPictures could handle simple text files containing IMDB- ID with the name "imdbid.txt"... Some of those files are still present in my collection, I think. As I assume that the "real" .nfo is preferred if both (moviename.nfo and imdbid.txt) are available, I can't imagine why we shouldn't use this... If you want to add "imdb", you best add "imdbid" too as the later for sure is/was used (not only by me ofc)...

    Testing I have to postpone a bit as I first want to finish the home screen for my theme so I can release it today. Maybe tonight or at latest tomorrow I will test the binaries....

    Edit:
    This is the "Status Quo" of the home screen. Need to fix some things here, as you can see...
    Zwischenablage-1.jpg
     

    breese

    Retired Team Member
  • Premium Supporter
  • July 11, 2011
    3,902
    770
    65
    Arlington Heights, Illinois
    Home Country
    United States of America United States of America
    [2015-12-13 09:06:52,791] [575 ] [Main ] [ERROR] - PluginManager: Error building plugin item 'MovieTheMovieDbMatcher' at location '/Services'
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
    at MediaPortal.Extensions.OnlineLibraries.Matches.MatchStorage`2..ctor(String matchesSettingsFile)
    at MediaPortal.Extensions.OnlineLibraries.MovieTheMovieDbMatcher..ctor()
    --- End of inner exception stack trace ---
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
    at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
    at System.Activator.CreateInstance(Type type, Boolean nonPublic)
    at System.Activator.CreateInstance(Type type)
    at MediaPortal.Common.PluginManager.PluginRuntime.InstantiatePluginObject(String typeName)
    at MediaPortal.Common.Services.PluginManager.Builders.ServiceBuilder.BuildItem(PluginItemMetadata itemData, PluginRuntime plugin)
    at MediaPortal.Common.Services.PluginManager.PluginManager.RequestItem(PluginItemRegistration itemRegistration, Type type, IPluginItemStateTracker stateTracker)
    [2015-12-13 09:06:52,791] [575 ] [Thread10 ] [WARN ] - ThreadPool.ProcessQueue(): Exception during processing work 'ResumeDownloads'
    System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
    File name: 'System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    at MediaPortal.Extensions.OnlineLibraries.Matches.MatchStorage`2..ctor(String matchesSettingsFile)
    at MediaPortal.Extensions.OnlineLibraries.Matches.BaseMatcher`2.Init()
    at MediaPortal.Extensions.OnlineLibraries.SeriesTvDbMatcher.Init()
    at MediaPortal.Extensions.OnlineLibraries.Matches.BaseMatcher`2.ResumeDownloads()
    at MediaPortal.Common.Threading.Work.Process()
    at MediaPortal.Common.Services.Threading.ThreadPool.ProcessQueue()

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
     

    MJGraf

    Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    Thanks, breese,
    what are you using as base installation? SR15U1?
    The binaries are based on current dev branch, so you will probably have to use the latest weekly as base installation. Sorry for that one, but we have updated the System.Threading.Tasks.Dataflow.dll from version 4.5.23.0 to 4.5.24.0 after SR15U1, which is the reason for the error above...
     

    MJGraf

    Retired Team Member
  • Premium Supporter
  • January 13, 2006
    2,478
    1,385
    Weeklies are always here, with the most current on top of the list.
    The latest one is from 21 November, which is here :)
     

    breese

    Retired Team Member
  • Premium Supporter
  • July 11, 2011
    3,902
    770
    65
    Arlington Heights, Illinois
    Home Country
    United States of America United States of America
    47 Movies imported
    27 found in Movies

    All raw mkv movies and no .nfo files
    Not in Movies and No Fan Art or any movie info

    Armageddon
    Contact
    Die Hard
    Die Hard Live Free or Die Hard
    Home Alone
    Independence Day
    JFK
    Last of the Mohicans
    Max 1080p
    National Treasure
    Rudolph the Red-Nosed Reindeer
    Star Wars Ep_1 The Phantom Menace
    Star Wars Ep_2 attack of the Clones
    Star Wars Ep_3 Revenge of the Sith
    Star Wars Ep_4 A New Hope
    Star Wars Ep_5 The Empire Strikes Back
    Star Wars Ep_6 Return of the Jedi
    The Aviator
    The Ten Commandments
    The Wizard of OZ
     

    Attachments

    • CollectionMatches.xml
      2.3 KB
    • Matches.xml
      12.4 KB

    Users who are viewing this thread

    Top Bottom