FAQ (Frequently Asked Questions) -- Read This First (1 Viewer)

RoChess

Extension Developer
  • Premium Supporter
  • March 10, 2006
    4,434
    1,897
    This is a FAQ for the MP-TVSeries plugin.

    In here you will find a solution for the most common problems. Over time more solutions will be added, so please check back on occasion before posting your 'question' on the forum.


    Using the Forum Search

    If your problem is not in this FAQ, try searching the forum first...

    [COLLAPSE]It is very likely your question was already asked by somebody else, so try a search first.

    The entire MediaPortal forum is large and in different languages, so be sure to target your search at the right place.

    Do not use the 'Search' option at the top of the forum, but instead click on the "Search this Forum" option on the right side:

    FAQ.Forum.Search.png

    Then try to search for a single noun keyword that describes your problem. For example if you have trouble playing back ISO files, then simply search on 'ISO'. You might get a lot of results, but focus on the thread titles first.
    [/COLLAPSE]


    Setting up MP-TVSeries for the first time to import your collection

    The basic steps to get started with MP-TVSeries are as follows...

    [COLLAPSE]Installing the plugin and enabling it inside MediaPortal configuration is covered by the wiki, so we will skip that for now.

    If everything went ok, you should have the following shown when you enter the MP-TVSeries configuration screen:

    FAQ.TVSeries.1a_Configuration.Screen.png

    So now we have to add a path, so that MP-TVSeries can monitor it for your TV Shows. Please click on the big grey button below 'Path' and you will be able to browse to a folder, such as:

    FAQ.TVSeries.1b_Adding.Path.png

    Then you can use the refresh button:
    FAQ.TVSeries.1c_Refresh.Pre-Import.Resuts.png
    to see the pre-import results of your collection.

    If no parsing errors are shown in the list, then proceed with the import via:
    FAQ.TVSeries.1d_Start.Import.png
    otherwise fix the errors first by using the solutions provided next.
    [/COLLAPSE]


    Naming your TV series, such as specials, so that they are matched correctly

    If you have any parsing errors, or are unable to find a matching result on import, try this first...

    [COLLAPSE]The most obvious errors are the ones that show up in red.

    Example:
    FAQ.TVSeries.2a_Parsing.Results.Good+Bad.png

    As you can see in this larger view:

    FAQ.TVSeries.2b_Parsing.Results.Highlighted.png

    There is a problem parsing the "Bad" filenames, because there is no Season and Episode information available inside the filename. Support for "Show Name - Episode Title" is being worked on, so please 'star' the Google SVN issue then to be informed on the progress.

    Until then you have to rename your folders and/or filenames and use the refresh button
    FAQ.TVSeries.1c_Refresh.Pre-Import.Resuts.png
    until all parsing errors have been resolved.

    Another solution is to use the "String Replacements", so please read the next FAQ solution as well. This also helps when you are using cryptic filenames or a different language.

    After all the parsing errors are gone, it doesn't mean you are in the clear. That is because after you use the
    FAQ.TVSeries.1d_Start.Import.png
    button, the actual verification via thetvdb.com begins. This could then still result in a problem, as per:

    FAQ.TVSeries.2c_Series.No.Match.png

    Now you can manually correct this by entering something else at the "Local Series" textbox, after which the 'OK' button will change into 'Search Again'. Or you can skip the episode (it will be added in italic then in the Details overview), or skip the entire show with the other buttons. If you use the 'x' to close this screen, the episode will be added in raw mode, so whatever information the pre-import results showed will be used then.

    That is what was done with our example, after we removed the parsing errors (in this case simply deleting those episodes in question as we already had added the 'Good' examples). Once the thetvdb.com import completes, we can go to the 'Details' tab to verify our results:

    FAQ.TVSeries.2d_Details.png

    And you can see that the "Battlestar Galactica (2003)" example downloaded perfect, and we can see the cover and banner images for the show. The list on the left side:

    FAQ.TVSeries.2e_Details.Highlighted.png

    Can be navigated to reveal all the seasons by clicking on the [+] icon to expand or the [-] icon to collapse. You will also be able to edit things in here by first selecting a show/season/episode and then use the right side to adjust the values. However if you find mistakes in the information (or missing information), then creating an account with thetvdb.com, and fixing those mistakes will help everybody else as well.

    Tip: The specials at thetvdb.com are all Season 0, but to find out the Episode number you have to view the details on them. In our example the 3rd special on Battlestar Galactica is actually E08. You can verify this yourself, by going to the 'All' seasons overview page on that show, and click on the 3rd special 'The Lowdown'. The page that opens reveals 'Episode number' = 8. So S0E08 or 0x08 is needed for this episode to be found.
    [/COLLAPSE]


    UPDATED: Using the "String Replacements" to resolve weird filenames

    Solve more complicated parsing errors by cleaning up the filename before it is used...

    [COLLAPSE]You might have made a typo in the filenames, are using cryptic/acronym based filenames or using a different language then what thetvdb.com uses to identify the TV Show.

    Instead of renaming a lot of files, you can simply use the 'String Replacements' system to fix these problems.

    In our example "Bad Show Name" was used to indicate such an example, and lets say that this is supposed to be the TV show 'Dexter'. Now only a single episode file was used in this example, but the same applies for an entire multi-folder structure.

    FAQ.TVSeries.2e_Details.Highlighted.png

    Note: If you already ran an import and the 'bad' entry/entries are shown in the 'Details' tab as shown in the image above, then you first have to remove those. All the bad ones can be identified easy, because they will all be in lower case. Simply right click on them, select "delete" and remove all the database references. Be sure to click NO when it asks you if you also want to delete the files from your disk(s).

    Then we need to create the solution, by going back to the 'Import' tab and clicking on the 'String Replacements' menu item, and then mark both the checkbox 'Enabled' and double click into the empty 'Replace this' field and enter the bad filename part that we are going to replace. Finally double click into the empty 'With this' field to enter the correct string that we need.

    The result should then look something like this:

    FAQ.TVSeries.3a_String.Replacements.png

    Now as you can see the 'Run before matching' is selected as well. Any changes you need to make to the filename to make the 'Parsing Expressions' work, need this option enabled. Say for example you have a filename "Zoey 101 S01E02 - New Roomies.avi", then you can see how the "101" part of the filename might cause a problem. A solution would be to run a "String Replacements" before, that takes "Zoey 101" and replaces it with "Zoey OneHundredOne". The 'Parsing Expressions' will then follow to split up the filename into series name, season number, episode number and episode title.

    By renaming the 101 into OneHundredOne, we prevented any problems in the parsing expressions sequence to mistake the 101 as S01E01. But for our "Zoey OneHundredOne" to be recognized by thetvdb.com we need to change it back into "Zoey 101", so that's why you add another entry in the "String Replacements" setup that turns "Zoey OneHundredOne" back into "Zoey 101" with the 'Run before matching' checkbox not selected.

    Tip #1: You can also use this to remove things from a filename, as you can already see by the default string replacement rules. Removing '[' and '#' characters, or replacing them with what is needed for a correct match is something you can do in here as well, without having to bother with creating complicated 'parsing expressions'.

    Tip #2: Say for example your filenames are using S6E7 or 6x7 to identify Season 6 - Episode 7, then they will fail because 2 digits are needed for the episode number (S6E07 or 6x07 works fine). You could use string replacements for this as well, by adding a rule to replace 'E1 ' with 'E01 ', and do this for E2 to E9 as well.

    Once you are done with all your entries, go back to the 'Import Paths' menu and click on the
    FAQ.TVSeries.1c_Refresh.Pre-Import.Resuts.png
    button to verify that it worked.

    In our example you can see that 'Dexter' now works perfectly:

    FAQ.TVSeries.3b_String.Replacements.Import.png

    Then complete the import by using the
    FAQ.TVSeries.1d_Start.Import.png
    button and you will be able to verify the results by going to the 'Details' tab:

    FAQ.TVSeries.3c_String.Replacements.Results.png
    [/COLLAPSE]


    Log File Errors explained

    Warning: Could not add Volume Label/Removable Property to episode...

    [COLLAPSE]The 'Removable' checkbox option on an import path should only be used for dynamic content drives.

    FAQ.TVSeries.1a_Configuration.Screen.png

    So an optical drive, CD/DVD/Blu-Ray is always the same drive letter (aka import path), but the contents depends on the optical media you insert. This is the dynamic content part, and MP-TVSeries is aware of this situation and uses volume labels and media IDs to keep track of each disc.

    A network share however doesn't fall under that category and would cause the above error to show in the log file if you enable the checkbox on its import path.
    [/COLLAPSE]


    If you find any mistakes in my explanations, or have your own contributions, please reply to this thread so I can modify this first post to include them.
     

    Dadeo

    Docs Group Manager
  • Premium Supporter
  • November 26, 2006
    5,340
    3,321
    Himalayas, India
    Home Country
    Canada Canada
    Nice job RoChess! An excellent example of how Documentation should be done! I'm just wondering why you chose to this in a forum post and not in the FAQ Wiki page on MP-TVSeries Google Code site? Or better yet (from new users perspective) in our MP Wiki?

    I know we don't usually link to external programs. However, regarding your renaming tips, you could mention there are some renamers that will accomplish what you have recommended. One example is theRenamer, which actually uses the TVDB (or other sources if you choose) to rename files according to the episode names on the TVDB site. Using this method, I have rarely had a parsing problem in naming over 800 episodes so far. It believe it already supports "Show Name - Episode Title". Specials are still a bit of a pain, but I think that is being worked on.

    I hope all plugin developers are inspired by your work.

    :D
     

    RoChess

    Extension Developer
  • Premium Supporter
  • March 10, 2006
    4,434
    1,897
    • Thread starter
    • Moderator
    • #3
    Nice job RoChess! An excellent example of how Documentation should be done! I'm just wondering why you chose to this in a forum post and not in the FAQ Wiki page on MP-TVSeries Google Code site? Or better yet (from new users perspective) in our MP Wiki?

    Thank you, always nice to feel appreciated :)

    I feel more like the dishwasher on this, with the developers being the cooks makeing the stuff people actually want. But without clean dishes the place eventually falls apart, so I know even non-code contributions help :cool:

    At first I didn't even plan on the FAQ, but when you start to notice that you are answering the same question to another person, it doesn't take long to realize it is time for one. I don't have time to learn C# and help on the actual code, but figured helping on the forum offloads the developers, so they can do it. Since I was answering all the questions on the forum, putting the FAQ here was a more obvious choice to start with for me. But from the start, the idea was to have this FAQ end up on the MP-TVSeries wiki, just not all of it.

    Actually expected more feedback and suggestions from people, but I guess first draft was better then I thought it would be. Still, not every question needs to become a wiki FAQ one, especially the workaround ones, and I have to learn how to use the wiki properly as well :rolleyes:

    The idea of using a seperate program for the renaming, never struck me as beneficial, and most of the functionality is eventually scheduled as enhancements for MP-TVSeries itself. A big one on that is the episode title lookup ability that hopefully will make it into the next version. But there will always be users who prefer their own filenaming scheme, so for those files to be recognized they would have to rely on the string replacements to make it work.

    But I'll have another look at the respective FAQs on that and will work in a few links to the major rename tools.
     

    Inker

    Retired Team Member
  • Premium Supporter
  • December 6, 2004
    2,055
    318
    RoChess, thnx for doing this.

    However, can I make a minor correction, you state:
    "Then we need to create the solution, by going back to the 'Import' tab and clicking on the 'String Replacements' menu item, and then mark both the checkbox 'Enabled' as well as 'Run before matching'. That last one is important, because we need to do the string replacements before the 'Parsing Expressions' are processed."

    However in the example you give it doesn't make any difference if you run the replacement before the matching, you don't need the replacement to run before the regex parser kicks in, because the parser isn't in the slightest concerned with you using existing series names, all it cares about is a certain pattern in the filename.

    Just think of this ordering of steps and it should be clear:
    1) FilenameScan by extension
    2) String Replacements BEFORE matching
    3) Regex Matching
    4) For Each Field - String replacement AFTER Matching (checkbox not clicked)
    5) Online processing - Only at this step do you need to have the correct series name, well in fact you don't as it will ask you and you can just type the new series here. So I'm not entirely sure about your example.

    An example when String replacement before matching can be useful:
    Filename: "Single Season Series - Episode 1.avi"
    You can just add a replacement for "Episode " to "1x", but this one HAS to run before the regex, or you will not get a match.

    Hope this clears it up.
     

    RoChess

    Extension Developer
  • Premium Supporter
  • March 10, 2006
    4,434
    1,897
    • Thread starter
    • Moderator
    • #5
    However in the example you give it doesn't make any difference if you run the replacement before the matching, you don't need the replacement to run before the regex parser kicks in, because the parser isn't in the slightest concerned with you using existing series names, all it cares about is a certain pattern in the filename.

    I was trying to make an easy single explanation then having to explain all the differences. Running the 'before' enabled as you said will work in my example, and it indeed would have worked without. But if a beginner then tries to go a little bit more advanced and needs to solve the actual parsing to work correctly, then they might forget to enable the 'before' option. The example was picked to explain what happens easier, I could have gone with a complex example, but then beginners might not have understood the process. I would have had to make a different screenshot for tip #2 then.

    Aside from a potential difference in processing speed, I can't actually imagine a scenario in which you specifically have to run it 'after' the parsing expressions are finished. If it was just me, they could remove that checkbox option all together and always run it before. I'm sure there is an exception, but I wouldn't be able to tell you one, do you know of any?

    The whole reason for my explanation was to avoid having to do any manual corrections at all. I've actually missed a few shows, because they automatically popped on the GUI confirmation dialog for my wife, and since default action is to 'skip/ignore', guess which one she picked :mad:

    PS: I just woke up, so don't take my reply as defensive over how I did things. But it is my experience that it is best to not explain too many options, or the beginner is still left confused.
     

    Inker

    Retired Team Member
  • Premium Supporter
  • December 6, 2004
    2,055
    318
    Well, there certainly are legitimate uses for running them after. the running after tag can be used excelletely to "smuggle" things by the parser (such as filenames with "sample" in there somehow, or consider a show named "Math 101". An episode might then be named "Math 101 - S01E01 - Additions.avi". The parser might take the 101 as indicating season-episode, it certainly fits the pattern. If you have single regex's you can reorder the SxEx one above the one looking for SEE, however its easier to first replace "Math 101" with something like "Math <oneohone>" and after the regex parser put it back correctly.

    The performance aspect you talk about isn't as clear cut btw. If you have alot of files in your watched dirs that don't match then certainly alot of pre-parser replacements will take its toll, however, if that is not the case then pre-parsing expressions should in theory be faster, because while they have to run on a bigger string (the entire filename), they only need to be run once, as apposed to once per capture group the regex returns. Believe me I spent hours upon hours perf-tuning the local import process ages ago. In either case, perf really shouldn't play a role here, file listing is really the bottleneck, especially over the lan.

    I still don't understand the need for for string replacements after you explained it, it seems to me the addition of the string replacement per wrongly named series requires at least the same amount of "work" as the one time correction during the import process. Except with the former you eventually end up with dozens of series-name string replacement to the point that it might just become a factor of slowdown.

    Certainly if you feel this is the best way to handle wrong series then there is a design issue in the plugin and this should be discussed further to find a proper solution.

    BTW the only reason I corrected you was because you seemed to make it especially importatnt that this setting needed to be set.
     

    RoChess

    Extension Developer
  • Premium Supporter
  • March 10, 2006
    4,434
    1,897
    • Thread starter
    • Moderator
    • #7
    Well, there certainly are legitimate uses for running them after.

    After your "Math 101" example, I did a search on TheTVDb and indeed there are quite a few of them with 101 in the title.

    I could indeed forsee problems with that (didn't test), so a replacement before into some unique word and then replacement after back into the original name makes total sense to me.

    So I'll modify the article later, thank you :D
     

    Users who are viewing this thread

    Top Bottom