# Metagenerator 3 -- Support & Downloads



## dlfl

Support and download links for Metagenerator 3 (MG3) are now transferred from the pyTivo forum to this thread, starting with the release of MG3 Ver. 3.83

Metagenerator looks up metadata for TV Shows and Movies, including Rovi-style programId and seriesId. It creates pyTivo .txt metadata output files but also can insert metadata into .mp4 and .wtv files. It can create output folders, and rename output files, based on metadata. It has automatic and semi-automatic modes. There is no user guide for MG3 but a complete cumulative change log is included in each version distribution. Searching this log and/or posting questions on this forum are the two best ways to get help.

Metagenerator was originally programmed by Master Cephus and has been enhanced and supported by me starting in 2011.

*NOTE REGARDING ANTI-VIRUS*:
Norton AV and Windows Defender have flagged some distributed MG3 files but these are believed to be false alarms. Just configure an AV exception for the MG3 runtime folder.

*Change Log:* The change log is included in the distribution zip. Only the changes for a few of the latest versions will be given in this post:

*All versions starting with Ver. 4.01* (25 October 2021)
*Enhanced:* RPC searches for programId and seriesId now *require no support
files or installations*. A* domainToken *(cookie) is required, see "domainToken.txt"
which is attached and included in the distribution zip.
*Ver. 4.04* (20 July2022)
*Enhanced: *Can fetch domain token needed for RPC searches directly from Tivo.com or from KMTTG config file.
*Ver. 4.07* (5 Dec 2022)
*Fixed:* RPC calls hanging. Middlemind TiVo server URL changed.
*Enhanced:* RPC calls time out instead of hang if mind server connection hangs.

Known movie programId's are added to the database when movie metadata is saved to a pyTivo .txt metadata file either individually or during movie autoprocessing. See post #265 of this thread for more info on the movie programId database:
Metagenerator 3 -- Support & Downloads

Use of the {resolution} tag is optional and requires mediaInfo.dll in the installation (run time) folder.
Download here: MediaInfo.zip
See discussion in this pyTiiVo forum thread from July 18-21, 2011 for details on this and the optional filenamer.VBS file:
pyTivo Discussion Forum :: View topic - MetaGenerator Version 3

You can *download* *the latest version of MG3, 4.07,* in the zip file.found via this one-drive link:
https://1drv.ms/u/s!AmkftjtSIff0zlmcwHfyNj-RK9xy?e=bOlmsE
There is no installer. Just extract the files to any folder and create a shortcut to MetaGenerator Version 3.exe.
*NOTE*: To avoid weird Windows file permission issues it is recommended that you do NOT put MG3 into a folder under the "Program files" or "Program Files (x86)" folders, and that you follow the procedure given in Post #125 of this thread for unzipping the downloaded distro:
Metagenerator 3 -- Support & Downloads


----------



## windracer

Just FYI, Windows Defender Antivirus (Windows 10) seems to think rpcSearch126.zip contains the Win32/Tiggre!plock trojan and won't let me download it.


----------



## mickrussom

dlfl said:


> You can download rpcSearch126.zip here:
> rpcSearch126.zip


Mediafire flagged this file and wont allow downloading.


----------



## dlfl

mickrussom said:


> Mediafire flagged this file and wont allow downloading.





windracer said:


> Just FYI, Windows Defender Antivirus (Windows 10) seems to think rpcSearch126.zip contains the Win32/Tiggre!plock trojan and won't let me download it.


I'm trying to figure out what's going on here -- very strange since the previous version (rpcSearch125.exe, .zip) had no such issues and I haven't changed anything about how these files are generated or uploaded to mediafire.com.

I think I did get the Win10 1803 update between the times these two versions were created, so maybe that changed something.

Meanwhile I've removed rpcsearch126.zip from mediafire.


----------



## dlfl

Frankly never figured out exactly what the problem was but finally got a version of rpcSearch126.zip up on mediafire.com that doesn't show the "virus" problem and *have edited the link in the first post*. Whatever it was did not involve any changes in the rpcSearch126.py code or the method used to generate the .exe and .zip files. Rather it appeared to be related to Win10 folders and permissions.

I didn't catch the virus warning icon on mediatfilre.com (file view, which only I can see) because (1) it's very small and (2) I've never encountered this problem before. I (and 18 other people) downloaded the original rpcsearch126.zip and neither .zip nor .exe showed any virus detections on my PC, using Sophos Home AV. And MG3 ran fine with the downloaded file. So I'm guessing the issue was some quirky interaction between the Win10 file system and mediafire.com.


----------



## dlfl

Unfortunately rpcSearch zip files are too large to be attached to posts here, thus my use of mediafire.com. However after this recent glitch I am open to suggestions for a better file sharing site.


----------



## elprice7345

@dlfl - Thanks for moving over to the TCF!


----------



## PSU_Sudzi

dlfl said:


> I'm trying to figure out what's going on here -- very strange since the previous version (rpcSearch125.exe, .zip) had no such issues and I haven't changed anything about how these files are generated or uploaded to mediafire.com.
> 
> I think I did get the Win10 1803 update between the times these two versions were created, so maybe that changed something.
> 
> Meanwhile I've removed rpcsearch126.zip from mediafire.


Still get the dangerous file warning from mediafire.


----------



## elprice7345

I use Norton and I've had to exclude my MG3 directory from scans to be able to run MG3.


----------



## dlfl

elprice7345 said:


> I use Norton and I've had to exclude my MG3 directory from scans to be able to run MG3.


Is that for MG3 or rpcSearch126.exe?


----------



## dlfl

PSU_Sudzi said:


> Still get the dangerous file warning from mediafire.


What is your PC and Windows version?

It's showing 18 downloads with the updated rpcSearch126.zip link in the first post. Is anyone else seeing this issue?


----------



## elprice7345

dlfl said:


> Is that for MG3 or rpcSearch126.exe?


I've had Norton flag both, so I exclude the entire directory from scans.


dlfl said:


> Is anyone else seeing this issue?


I just tried to download rpcsearch126.zip and mediafire blocked me.


----------



## PSU_Sudzi

dlfl said:


> What is your PC and Windows version?
> 
> It's showing 18 downloads with the updated rpcSearch126.zip link in the first post. Is anyone else seeing this issue?


I have an iMac running boot camp with Windows 10. Looks like someone else also still having issues too. I ended up just installing python to get around it.


----------



## PSU_Sudzi

dlfl said:


> Support and download links for Megenerator 3 (MG3) are now transferred from the pyTivo forum to this thread, starting with the release of MG3 Ver. 3.83
> 
> Metagenerator looks up metadata for TV Shows and Movies, including Rovi-style programId and seriesId. It creates pyTivo .txt metadata output files but also can insert metadata into .mp4 and .wtv files. It can create output folders, and rename output files, based on metadata. It has automatic and semi-automatic modes. There is no user guide for MG3 but a complete cumulative change log is included in each version distribution. Searching this log and/or posting questions on this forum are the two best ways to get help.
> 
> Metagenerator was originally programmed by Master Cephus and has been enhanced and supported by me starting in 2011.
> 
> *Change Log:* The change log is included in the distribution zip. Only the changes for the latest version will be given in this post:
> *Ver. 3.83 *(7 June 2018)
> *Enhanced:* RPC programId searches for movies select correct movie year for cases where identical titles had multiple year releases.
> *NOTE:* Requires (new) rpcSearch126.exe file if not using a python installation.
> *Enhanced:* For **single** movie RPC programId searches, a dialog box allowing entry of an override title used only for the RPC
> search pops up.
> *Enhanced:* For right-click single episode programId (RPC) searches, the slection list now includes episodes whose TiVo episode title has zero matching score vs. theTVDB's episode title, provided the TiVo series/episode numbers match theTVDB S/E.
> 
> Use of the {resolution} tag is optional and requires mediaInfo.dll in the installation (run time) folder.
> Download here: MediaInfo.zip
> See discussion in this pyTiiVo forum thread from July 18-21, 2011 for details on this and the optional filenamer.VBS file:
> pyTivo Discussion Forum :: View topic - MetaGenerator Version 3
> 
> You can *download* the latest version of MG3, 3.83, here:
> MetaGenerator383.zip
> There is no installer. Just extract the files to any folder and create a shortcut to MetaGenerator Version 3.exe.
> 
> You can download rpcSearch126.zip here:
> rpcsearch126.zip
> Putting rpcSearch126.exe (from this zip) into your MG3 runtime folder allows you to do RPC searches for programId's and seriesId's without having python installed on your computer.


Hi, one more question, have you had any problem recently getting the programID when doing a search? I can't find any tv shows or movie IDs even after double checking my TiVo user name and password, etc.


----------



## dlfl

PSU_Sudzi said:


> Hi, one more question, have you had any problem recently getting the programID when doing a search? I can't find any tv shows or movie IDs even after double checking my TiVo user name and password, etc.


I just checked using rpcSearch126.exe and no problems.


----------



## dlfl

elprice7345 said:


> &#8230;..
> I just tried to download rpcsearch126.zip and mediafire blocked me.


Something very strange going on, I'm guessing a weird interaction with the virus checker built into mediaFire.com.
A couple of days ago, MediaFire was showing no virus flag for rpcSearch126.zip but now it is. My Sophos AV shows no detections for either the .zip or the .exe.

Thus I would like to explore using a different download system. Try this One-Drive link:
rpcsearch126.zip

This is a Microsoft utility so conceivably there could be problems with a Windows emulation, which I assume is what Boot Camp on the iMac is.


----------



## PSU_Sudzi

dlfl said:


> Something very strange going on, I'm guessing a weird interaction with the virus checker built into mediaFire.com.
> A couple of days ago, MediaFire was showing no virus flag for rpcSearch126.zip but now it is. My Sophos AV shows no detections for either the .zip or the .exe.
> 
> Thus I would like to explore using a different download system. Try this One-Drive link:
> rpcsearch126.zip
> 
> This is a Microsoft utility so conceivably there could be problems with a Windows emulation, which I assume is what Boot Camp on the iMac is.


Thanks for sending that link, it worked, and I removed python and used that .exe and the RPC call is now working. Much appreciation!


----------



## gonzotek

dlfl said:


> This is a Microsoft utility so conceivably there could be problems with a Windows emulation, which I assume is what Boot Camp on the iMac is.


Boot camp's not emulation - it allows dual-booting on a Mac - you pick either true native Windows or true native OSX at boot time, and can switch between them only on reboots.


----------



## dlfl

PSU_Sudzi said:


> Thanks for sending that link, it worked, and I removed python and used that .exe and the RPC call is now working. Much appreciation!


I've updated the link in the first post to the OneDrive download.


----------



## elprice7345

The OneDrive link works for me.

Norton still flags it as having “WS.Reputation.1” and quarantines it. My workaround is to exclude my MG3 folder from Norton scans.

I don’t know if there is a way to fix this with Norton or maybe something to add in your 1st post for future users. If I’m the only one with the problem, I wouldn’t worry about it.


----------



## dlfl

elprice7345 said:


> The OneDrive link works for me.
> 
> Norton still flags it as having "WS.Reputation.1" and quarantines it. My workaround is to exclude my MG3 folder from Norton scans.
> 
> I don't know if there is a way to fix this with Norton or maybe something to add in your 1st post for future users. If I'm the only one with the problem, I wouldn't worry about it.


Here is post about WS.Reputation:
ALERT! Virus inside DvrBARS. Please clean.
Also note the 2nd post following the one linked.

And here is a Norton page on the subject:
WS.Reputation.1 | Symantec

I report -- you decide.


----------



## elprice7345

dlfl said:


> Here is post about WS.Reputation:
> ALERT! Virus inside DvrBARS. Please clean.
> Also note the 2nd post following the one linked.
> 
> And here is a Norton page on the subject:
> WS.Reputation.1 | Symantec
> 
> I report -- you decide.


Thanks for the info @dlfl! I didn't know about the reputation detection.

It doesn't sound like there's much we can do to prevent Norton from quarantining the file. Maybe the best answer is to add a warning in your top post or let users find this discussion? Thoughts?


----------



## eherberg

Even better option is to dump Norton.


----------



## HerronScott

elprice7345 said:


> Thanks for the info @dlfl! I didn't know about the reputation detection.
> 
> It doesn't sound like there's much we can do to prevent Norton from quarantining the file. Maybe the best answer is to add a warning in your top post or let users find this discussion? Thoughts?


Yep, been dealing with that for quite some time now on this and other small TiVo community apps. I'd dump Norton but Comcast provides it for free and otherwise it works fine for us. 

Scott


----------



## philhu

Ive had this type of problem for a year on win10
The program will not run until I tell it to ignore this error. I reported it last DECEMBER


----------



## HerronScott

philhu said:


> Ive had this type of problem for a year on win10
> The program will not run until I tell it to ignore this error. I reported it last DECEMBER


Reported it to who? Norton or Microsoft (I get similar types of warnings from Norton and Windows). Given how this "reputation" detection works, neither is going to eliminate the detection/warning. Although I know it's supposed to offer an extra layer of protection, I'd almost prefer to disable it. At least the Windows one is just a prompt. The Norton one you have to open it, find the detection and then tell it to ignore it.

Scott


----------



## philhu

Reported to difl. Thats all


----------



## HerronScott

philhu said:


> Reported to difl. Thats all


It's not a problem with Metagenerator though and nothing he can do about it (well unless he can get millions of people to start using Metagenerator!). The reputation "detections" are only based on a low number of users using this app which is not surprising. It is not an actual virus/trojan detection!

Scott


----------



## elprice7345

@dlfl - found a new bug ...

I searched for the series "Taboo" and the TVDB results are not in numerical episode order.

In the past, this series has been ordered properly.

Is this an MG3 issue? Issue on my side?


----------



## spamjam

FWIW, I just downloaded rpcSearch126.zip onto Windows 7. AVG Free popped up, scanned the file, and gave an all clear notice. AVG doesn't normally do that with downloaded files, so this was abnormal. But it didn't quarantine.


----------



## elprice7345

elprice7345 said:


> @dlfl - found a new bug ...
> 
> I searched for the series "Taboo" and the TVDB results are not in numerical episode order.
> 
> In the past, this series has been ordered properly.
> 
> Is this an MG3 issue? Issue on my side?


I've since found other series that have the same issue:

When We Left Earth: The NASA Missions

Doctor Who (2005)

Drugs, Inc.

Modern Marvels

Vikings


----------



## dlfl

Try test distro 3.84T1 in attached zip. *EDIT*: Attachment removed -- superseded by 3.84 release.

MG3 was assuming theTVDB.com provided episodes already sorted in numerical order -- which apparently was true until recently. This version sorts them.


----------



## elprice7345

Thanks @dlfl!

Fixed for me. I'll do some more regression testing over the next few days.


----------



## Spenner

Can we not have the dialog box "Override Movie Title for RPC Search" come up, or have it be configurable to suppress it? I already enter a search term, it comes back with a list of titles, and when I click my title why do I need to confirm/change something again in this dialog box?

What's the purpose of the "Known Series IDs" dialog when MetaGenerator starts? Again, can we suppress this if we don't care instead of always waiting for it to go away or closing it manually?

Thanks for MetaGenerator!


----------



## elprice7345

elprice7345 said:


> Thanks @dlfl!
> 
> Fixed for me. I'll do some more regression testing over the next few days.


@dlfl - I haven't found any other issues in my regression testing.

I've attached an updated knownSeriesIds.txt file.


----------



## dlfl

elprice7345 said:


> @dlfl - I haven't found any other issues in my regression testing.
> 
> I've attached an updated knownSeriesIds.txt file.


Thanks. Any reaction to the comments by @Spenner in post #34?


----------



## elprice7345

Spenner said:


> Can we not have the dialog box "Override Movie Title for RPC Search" come up, or have it be configurable to suppress it? I already enter a search term, it comes back with a list of titles, and when I click my title why do I need to confirm/change something again in this dialog box?


I expect the vast majority of movie titles will match the TMDB, so most searches won't need to override the title. @Spenner has a good suggestion if @dlfl can make the change easily. Could you override the title from within the movie details window? That way a user can search for the movie and accept the match most of the time and if they need to override the title they could click the button to change the title. The title override functionality definitely needs to stay, but maybe the workflow can be streamlined?



Spenner said:


> What's the purpose of the "Known Series IDs" dialog when MetaGenerator starts? Again, can we suppress this if we don't care instead of always waiting for it to go away or closing it manually?


MG3 is providing information about what's happening with the knownseriesid.txt file. It tells the user if any user specified seriesIds were merged with the distributed seriesIds. @dlfl made the box open temporarily from a prior user's request (it used to stay open until the user closed it).

I don't have a strong opinion one way or another. I think it's useful information, but maybe it could be written to a file instead of popping up? It doesn't bother me because it goes away pretty quickly.


----------



## dlfl

Try test distro Ver. 3.84T2 in attached zip. *EDIT*: Attachment removed -- superseded by 3.84 release.

Ver. 3.84T2 (3 August 2018)
*Changed:* RPC Movie Title override entry box no longer pops up. The movieDB title is used for the programId search. The operator can override the title by entering the override title in the Title box and clicking the "Update" button, which will invoke a new RPC search with the override title.

No change on the Known SeriesId's initial popup. For the moment at least, I'm not convinced it's worth changing. (And I worked so hard to make it automatically disappear. )


----------



## dlfl

Try test distro Ver. 3.84T3 in attached zip. *EDIT*: Attachment removed -- superseded by 3.84 release.

Ver. 3.84T3 (4 August 2018)
*Enhanced:* Initial popup of known seriesId statistics has a checkbox to "Do not display this again". If checked this popup will not appear again until the first time you run a new version of MG3.

Also included an updated version of distroSeriesIds.txt courtesy of @elprice7345.


----------



## elprice7345

dlfl said:


> *Enhanced:* Initial popup of known seriesId statistics has a checkbox to "Do not display this again". If checked this popup will not appear again until the first time you run a new version of MG3.


Works for me. The user should be able to toggle this switch from within the app. I found the config value in "MergeStrategy.txt", but it should be available from the app.



dlfl said:


> *Changed:* RPC Movie Title override entry box no longer pops up. The movieDB title is used for the programId search. The operator can override the title by entering the override title in the Title box and clicking the "Update" button, which will invoke a new RPC search with the override title.


This works great! Much improved workflow!

How does MG3 sort the search results? If I search for "marvels" in the TV tab, I get the following:






I'm guessing MG3 is sorting by some sort of % match, but in this case, every result matches the search term, so they should all be the same degree of match. In this case, could MG3 sort the identical match results alphabetically? It makes it easier for the user to scan through the results.

Similar use case for movies. I was testing the changes to the movie title updates, searching for "stolen" (from the previous test cases supplied by @*germitchell* in the old forum) and got the following:






I'm not sure why the Asian and ?Swedish? character titles appear. Most of the titles contain the word "stolen", but don't appear to be sorted in any meaningful way.


----------



## dlfl

@elprice7345,
Re seriesId popup: My thought was that users would either want to see this or not. Is there a use case for turning it off then wanting to turn it back on?

The search results are just as they are returned and sorted (or not) by the API's for theTVDB and movieDB. (MG3 just gives them a search term.) I can look into sorting them prior to display.


----------



## elprice7345

dlfl said:


> Re seriesId popup: My thought was that users would either want to see this or not. Is there a use case for turning it off then wanting to turn it back on?


I might be the only one that will do it, so I wouldn't put much effort into it. It seems like a good practice to make any configuration available through the app vs. changing a config file.


----------



## dlfl

elprice7345 said:


> I might be the only one that will do it, so I wouldn't put much effort into it. It seems like a good practice to make any configuration available through the app vs. changing a config file.


I agree on the good practice but thought this was an exception because I couldn't imagine the reason anyone would want to turn the popup back on. I'm curious as to what your reason is. It's not a lot of programming effort to add a setting but I hate to add yet another one to the many already there. I assume you noticed that the choice will be offered again on the first startup of a new MG3 version.


----------



## elprice7345

Just good practice. The only time I would turn it on or off would be to test the seriesId merge functionality.

Since I've been the only one contributing seriesIds, it's not much of a concern.

My hope when we added the merge functionality was that others would contribute and we would end up with a much more comprehensive collection of seriesIds.

Since I know how to turn it on and off and I would only need to do it while testing, I wouldn’t worry about it.


----------



## dlfl

OK I see the use case now, although unfortunately it will probably only apply to you. How about if MG3 also does the popup if it sees (and merges) either an update*.txt or distroSeriesIds.txt file in the runtime folder at startup? Wouldn't that give diagnostic info for any possible situation of interest? Note that MG3 already pops up descriptive messages if it encounters an error (e.g., improper formatting) in any seriesId file.


----------



## lew

Windows defender is now identifying rpcsearch126.exe as Trojan:Win32/Tiggre!plock and quarantined the file.
I'm on Win 10.

If I don't hear otherwise I'll assume a false alarm. I downloaded the file from the first post in this thread.


----------



## JoeKustra

lew said:


> Windows defender is now identifying rpcsearch126.exe as Trojan:Win32/Tiggre!plock and quarantined the file.
> I'm on Win 10.
> If I don't hear otherwise I'll assume a false alarm. I downloaded the file from the first post in this thread.


Same false alarm when I tried it. Win 10 Pro.


----------



## elprice7345

dlfl said:


> OK I see the use case now, although unfortunately it will probably only apply to you. How about if MG3 also does the popup if it sees (and merges) either an update*.txt or distroSeriesIds.txt file in the runtime folder at startup? Wouldn't that give diagnostic info for any possible situation of interest? Note that MG3 already pops up descriptive messages if it encounters an error (e.g., improper formatting) in any seriesId file.


That's a great idea!


----------



## dlfl

Try test distro Ver. 3.84T4 in the attached zip. *EDIT*: Attachment deleted -- superseded by 3.84 release.

Ver. 3.84T4 (9 August 2018)
*Enhanced: * Startup seriesId popup will appear if new seriesId's were merged from an update*.txt or distroSeriesIds.txt, regardless whether the "Do not display this again" was previously checked.
*Enhanced:* Movie and TV search result lists are alphabetically sorted.


----------



## lew

Running metagen itself is now generating a windows defender alert. I made an exception.
I may install python. Current version seems to be 3.70. Is there a reason to install an older version?


----------



## dlfl

lew said:


> Running metagen itself is now generating a windows defender alert. I made an exception.
> I may install python. Current version seems to be 3.70. Is there a reason to install an older version?


Not a 100% sure you're running MG3 ("Metagenerator 3"). The current version of MG3 is 3.83 (see first post in this thread), with version 3.84 under test (see my previous post). There is no reason to run older versions and in fact I do not support them.

Also the only version of rpcSearch126.exe you should be running is from the zip downloaded via the link in the first post.


----------



## lew

dlfl said:


> Not a 100% sure you're running MG3 ("Metagenerator 3"). The current version of MG3 is 3.83 (see first post in this thread), with version 3.84 under test (see my previous post). There is no reason to run older versions and in fact I do not support them.
> 
> Also the only version of rpcSearch126.exe you should be running is from the zip downloaded via the link in the first post.


I was only 99% sure I was running mg3 3.83. I just checked...100% Yesterday Windows Defender flagged rpcSearch126.exe (doesn't want me to copy from your zip archive to my MG3 directory. This morning Windows Defender didn't want me to run mg3. I let Windows Defender process an exception.

Ah..My question was *what version of python I should install. 3.70 seems to be the current version. * My memory is one program required an older version of python.


----------



## dlfl

Python 2.7 is good for mg3.


----------



## dlfl

lew said:


> Windows defender is now identifying rpcsearch126.exe as Trojan:Win32/Tiggre!plock and quarantined the file.
> I'm on Win 10.
> 
> If I don't hear otherwise I'll assume a false alarm. I downloaded the file from the first post in this thread.





JoeKustra said:


> Same false alarm when I tried it. Win 10 Pro.


So you concluded it was a false alarm, told Defender to ignore it, and used rpcSearch126.exe, correct?
I don't use Defender. My Sophos Home AV doesn't complain and Malwarebytes doesn't either.


----------



## elprice7345

elprice7345 said:


> I use Norton and I've had to exclude my MG3 directory from scans to be able to run MG3.


Once I excluded my MG3 directory, I haven't had any problems.


----------



## elprice7345

lew said:


> I was only 99% sure I was running mg3 3.83. I just checked...100% Yesterday Windows Defender flagged rpcSearch126.exe (doesn't want me to copy from your zip archive to my MG3 directory. This morning Windows Defender didn't want me to run mg3. I let Windows Defender process an exception.
> 
> Ah..My question was *what version of python I should install. 3.70 seems to be the current version. * My memory is one program required an older version of python.


@lew Unless you need python for something else, I would create an exception in Defender and run MG3 with rpcSearch126.exe.

One less program to have to install and manage.


----------



## elprice7345

I don’t think I ever noticed before, but how are you distributing the knownSeriesIds.txt file. I don’t see it in the MG3 zip file?

The knownSeriesIds.txt popup logic works, but should the popup box remain open until the user makes a choice now that they have a choice? When I was testing, the box disappeared before I could finish reading it.

Thanks for sorting the TV and movie title results! The movie results still contain several non-English titles. Searching in the movie tab for the text “stolen” produces several non-english titles.

I looked at one from the results list – “Det forsømte forår”. TMDB has an English title for this Danish film – “Stolen Spring” which is why it shows up in the search results.

Could MG3 return the English title so it’s obvious why it was included?

One more nit – could you sort the change log in reverse chronological order? That way the user sees the most recent changes at the top of the file?

Also, it would probably be wise to put some verbiage on your top post about conflicts with AV SW and how to work around them. This seems to come up fairly often in this thread.


----------



## dlfl

Try test distro Ver. 3.84T5 in attached zip
Ver. 3.84T5 (11 August 2018)
*Changed:* The startup seriesId popup now closes only when the user closes it.
*Enhanced:* English titles displayed for movies.



elprice7345 said:


> I don't think I ever noticed before, but how are you distributing the knownSeriesIds.txt file. I don't see it in the MG3 zip file?


distroSeriesIds.txt
Wasn't included in the 3.84T4 test distribution


elprice7345 said:


> One more nit - could you sort the change log in reverse chronological order? That way the user sees the most recent changes at the top of the file?


It's a manually edited text file. No simple way to sort, although some clever thing, perhaps using SED, could do it. Not worth the trouble to me but if anyone wants to do it I will maintain it in reverse chrono order from then on.


elprice7345 said:


> Also, it would probably be wise to put some verbiage on your top post about conflicts with AV SW and how to work around them. This seems to come up fairly often in this thread.


Done!


----------



## elprice7345

I saw the distroSeriesIds.txt file in T5. The 1st time MG3 opens after a new version it merges the user’s knownSeriesIds.txt file with distroSeriesIds.txt and deletes distroSeriesIds.txt. :thumbsup::up:

The movie titles show in English. 

I’ve attached a change log sorted in reverse chronological order. I know I would rather see recent changes at the top and I presume others would as well.

I’ve also attached my most recent knownSeriesIds.txt for distribution.


----------



## dlfl

@elprice7345, How did you reverse-sort the changelog?


----------



## elprice7345

Blood, sweat and tears!

Old school cut and paste ... didn't take too long, but I figured if I wanted it that way the least I could do was take care of it!


----------



## dlfl

Ver. 3.84 has been released. See first post for changes and downloads.

The MG3 distribution zip is now attached to the first post rather than downloaded from MediaFire.com.
An updated distroSeriesId.txt list is included, courtesy of @elprice7345 and thanks also to him for testing and many suggested fixes and improvements, and for reverse-sorting the change log to non-chronological order.


----------



## mickrussom

Thanks for 3.84... 

Can anyone help, I can only get one episode of 13 from voltron season 7 - says that 1-9 and 11-13 are "duplicates", tried all manners of search (deep, regular, fuzzy, s/ep, etc)

Is there any way to pick manually or just randomly pick duplicates?


----------



## dlfl

mickrussom said:


> Thanks for 3.84...
> 
> Can anyone help, I can only get one episode of 13 from voltron season 7 - says that 1-9 and 11-13 are "duplicates", tried all manners of search (deep, regular, fuzzy, s/ep, etc)
> 
> Is there any way to pick manually or just randomly pick duplicates?


You must mean "Voltron: Legendary Defender". No other Voltron titles have 7 seasons. I get all 13 season 7 episodes. Or are you talking about programId search? I get no programId's for any season 7 episodes and no complaints about duplicates. programId search results can depend on what's in your TiVo's program guide and which streaming sources you have activated.

Netflix has all 7 seasons but if I search on my TiVo I find only seasons 1-6 on Netflix. That seems consistent with the programId results I get on MG3. I rarely play Netflix videos via my TiVo, preferring my Fire TV for that. I don't know if I actually played a Voltron video via the TiVo if it might then realize season 7 is available.

EDIT: Went to Netflix on my TiVo (Roamio base model). Had to sign in. Then searched for Voltron and found all 7 seasons of Voltron: Legendary Defender. However this did not change my MG3 results.


----------



## HerronScott

dlfl said:


> EDIT: Went to Netflix on my TiVo (Roamio base model). Had to sign in. Then searched for Voltron and found all 7 seasons of Voltron: Legendary Defender. However this did not change my MG3 results.


That means that TiVo hasn't updated their guide data for season 7 right? Is this show only on Netflix?

Scott


----------



## dlfl

HerronScott said:


> That means that TiVo hasn't updated their guide data for season 7 right? Is this show only on Netflix?
> 
> Scott


FWIW, Netflix is the only source I've found for this title.


----------



## elprice7345

@mickrussom as @dlfl said, you must be asking about "Voltron: Legendary Defender".

That being said, the series is a Netflix only show and season 7 was released just on 8/10. All 7 seasons are available for viewing in Netflix. Seasons 1-6 are in the TiVo guide and "Find" data and therefore MG3 can find them, TiVo hasn't added season 7 data yet, so programIds don't yet exist for those episodes.

If you wait, TiVo will probably add them sometime soon or you can contact TiVo support and ask them to add them.


----------



## Sparky1234

Where does rpcSearch126 search for information? TiVo website? My TiVos? Other?


----------



## dlfl

Sparky1234 said:


> Where does rpcSearch126 search for information? TiVo website? My TiVos? Other?


It connects to the TiVo middlemind server: middlemind.tivo.com but the searches are specific to the TiVo whose TSN has been entered in the MG3 rpc search configuration form.


----------



## Sparky1234

Can I enter multiple TSNs?


----------



## dlfl

Sparky1234 said:


> Can I enter multiple TSNs?


No. I actually don't fully understand exactly how the search results depend on a specific TiVo. You could try different TSN 's and see how that impacts search results. (I'm assuming you have multiple TiVo's or you wouldn't be asking about this -- I only have one). I'd be curious to know what differences you find, i.e., is there a major advantage to using more than one?


----------



## elprice7345

Another opportunity for you @dlfl: I search for the series "The Planets (2017)". I get programIds by "Episode Title" and MG3 tells me it found programIds for episodes other than season 0. All good so far.

The issue is that S02E09, "The Sun: Secrets of Our Star" is still missing its programId, even though MG3 thinks it found all of the programIds.

When I right-click on the episode and manually retrieve the programId, MG3 finds it and it matches the broadcast programId.

Any idea what's going on?


----------



## dlfl

elprice7345 said:


> Another opportunity for you @dlfl: I search for the series "The Planets (2017)". I get programIds by "Episode Title" and MG3 tells me it found programIds for episodes other than season 0. All good so far.
> 
> The issue is that S02E09, "The Sun: Secrets of Our Star" is still missing its programId, even though MG3 thinks it found all of the programIds.
> 
> When I right-click on the episode and manually retrieve the programId, MG3 finds it and it matches the broadcast programId.
> 
> Any idea what's going on?


This is really a weird case due to the following:
1. Many (perhaps all, I haven't checked) of the RPC and TVDB season/episode numbers do not match. If you match based on S/E you get programId's for all episodes but many of them are incorrect.
2. One of the season 0 episodes per TVDB has exactly the same title as the s2e9 episode. The RPC data has that title for only one episode but thinks it is s2e12.

There is some logic hole in MG3 that leads to the reported behavior. I'm trying to unravel it now.


----------



## dlfl

Try test distro Ver. 3.85T1 contained in the attached zip.

Ver. 3.85T1 (15 August 2018)
*Fixed:* Series duplicate programId logic didn't properly handle s0e10 and s2e9 in The Planets (2017).

MG3 on RPC Search, Title-matching mode, will flag both those episodes as duplicates and not assign programId's to them.


----------



## Sparky1234

dlfl said:


> No. I actually don't fully understand exactly how the search results depend on a specific TiVo. You could try different TSN 's and see how that impacts search results. (I'm assuming you have multiple TiVo's or you wouldn't be asking about this -- I only have one). I'd be curious to know what differences you find, i.e., is there a major advantage to using more than one?


I use kmttg to search my multiple TiVo's for SH and PG ID data, then copy and paste. I will have to try entering different TiVo TSNs to see what shows up.


----------



## elprice7345

dlfl said:


> Ver. 3.85T1 (15 August 2018)
> 
> *Fixed:* Series duplicate programId logic didn't properly handle s0e10 and s2e9 in The Planets (2017).
> 
> MG3 on RPC Search, Title-matching mode, will flag both those episodes as duplicates and not assign programIds to them.


Tested and fixed. Thanks @dlfl! You corrected the logic exactly as I would have requested.

The issue arose because of the way Science Channel broadcasts mashup episodes. They take 2 or 3 previously broadcast episodes and broadcast them as new episodes. They do this for multiple series. In working with the folks over at TVDB, we decided that since the mashup episodes aren't new content, but repackaged content, they shouldn't be listed as new episodes, but documented as episodes in the "Specials" season. Documenting them in the Specials season, hopefully, reduces the chances that users mistakenly add them as truly new episodes in their respective seasons.

For this particular episode, they used the same title for a mashup episode, "The Sun: Secrets of Our Star", back on 5/1/18, and then reused the same episode title for a new episode on 8/14/18.

This shouldn't happen often, but it's good that MG3's logic handles it correctly now.


----------



## elprice7345

Sparky1234 said:


> I use kmttg to search my multiple TiVo's for SH and PG ID data, then copy and paste. I will have to try entering different TiVo TSNs to see what shows up.


It seems that multiple TiVos in the same house should have identical guide data and programId databases. If the cable provider and zip codes are the same, TiVo should download the same data. The only difference I can see happening is if the TiVos have downloaded the data at different times and one is more current.

Is there any other reason they could differ?


----------



## Sparky1234

elprice7345 said:


> It seems that multiple TiVos in the same house should have identical guide data and programId databases. If the cable provider and zip codes are the same, TiVo should download the same data. The only difference I can see happening is if the TiVos have downloaded the data at different times and one is more current.
> 
> Is there any other reason they could differ?


Ok, that was the point of my question. Where does RPC Search gets it's data. RPC Search most often fails but kmttg I can find and manually insert the info. Just asking where RPC Search looks.


----------



## Spenner

Thank you for these two fixes that I had complained about:
*Changed:* RPC Movie Title override entry box no longer pops up.
*Enhanced:* Initial popup of known seriesId statistics has a checkbox to "Do not display this again".


----------



## Sparky1234

Spenner said:


> Thank you for these two fixes that I had complained about:
> *Changed:* RPC Movie Title override entry box no longer pops up.
> *Enhanced:* Initial popup of known seriesId statistics has a checkbox to "Do not display this again".


*Metagenerator 3* is a terrific program, thanks for your efforts.


----------



## Joe3

Hi-When I use Metagenerator 3 it works fine, but when I hit the add art button pytivo transferes all the text, but never the art. TiVo shows a standard blue place holder. What's wrong, why is the Art not showing in the "My Shows"?


----------



## elprice7345

Joe3 said:


> Hi-When I use Metagenerator 3 it works fine, but when I hit the add art button pytivo transferes all the text, but never the art. TiVo shows a standard blue place holder. What's wrong, why is the Art not showing in the "My Shows"?


IIRC - pyTivo doesn't pull cover art. All cover art is generated from the programId, which must be in the metadata that pyTivo pulls.

The add art button in MG3 is to generate cover art for use in other media applications like, Plex, Kodi, etc.


----------



## Joe3

elprice7345 said:


> IIRC - pyTivo doesn't pull cover art. All cover art is generated from the programId, which must be in the metadata that pyTivo pulls.
> 
> The add art button in MG3 is to generate cover art for use in other media applications like, Plex, Kodi, etc.


Thanks, MG3 having the programId filled in is hit or miss for me. The blue place holder for the art really is annoying, too bad.


----------



## elprice7345

Joe3 said:


> Thanks, MG3 having the programId filled in is hit or miss for me. The blue place holder for the art really is annoying, too bad.


If you can find a TV show or movie using TiVo find, it has a programId, which MG3 should be able to find.

If you can give me some examples of things you weren't able to find, I'll see if I can help.


----------



## wmcbrine

elprice7345 said:


> IIRC - pyTivo doesn't pull cover art. All cover art is generated from the programId, which must be in the metadata that pyTivo pulls.


And to be clear, this is a TiVo issue, not a pyTivo issue. The TiVo never requests art from pyTivo (nor from TiVo Desktop, nor etc.).


----------



## Soapm

elprice7345 said:


> If you can find a TV show or movie using TiVo find, it has a programId, which MG3 should be able to find.
> 
> If you can give me some examples of things you weren't able to find, I'll see if I can help.


Twelve OClock High...
Tour of Duty
China Beach...


----------



## HerronScott

Soapm said:


> Twelve OClock High...
> Tour of Duty
> China Beach...


I get the following (using RPC search with our Roamio Pro)

Twelve O'Olock High (1949 movie) MV0000996724-0000996725
Tour of Duty (TV series S01E01) EP0000538815-0389703814
China Beach (TV series S01E03) EP0000901378-0000901379

Tour of Duty reported missing programID's for the first 2 episodes in S02.










China Beach does appear to have some issues such as S01E01/02 and S02E01/02 I guess have the same title so it didn't assign a programID and there were a number of other episodes where it appears to be missing them also.










Scott


----------



## dlfl

The two "Tour of Duty" episodes are easily resolved with right-click Get Program ID

Here is the raw data that MG3 gets back from its RPC call for "China Beach":


Code:


SNoneE[None]:tivo:cl.901378--tivo:ct.1645138%%China Beach
SNoneE[None]:tivo:cl.901378--tivo:ct.356385535%%China Beach
SNoneE[None]:tivo:cl.901378--tivo:ct.356385537%%China Beach
S1E[1]:tivo:cl.901378--tivo:ct.345258736%%China Beach
S1E[2]:tivo:cl.901378--tivo:ct.901379%%Home
S2E[1]:tivo:cl.901378--tivo:ct.1058740%%Lost and Found
S2E[2]:tivo:cl.901378--tivo:ct.1084659%%Lost and Found
S2E[9]:tivo:cl.901378--tivo:ct.1271306%%Crossing the Great Water
S2E[14]:tivo:cl.901378--tivo:ct.356385517%%After Burner
S3E[1]:tivo:cl.901378--tivo:ct.1569609%%The Unquiet Earth
S3E[2]:tivo:cl.901378--tivo:ct.1514894%%Skin Deep
S4E[1]:tivo:cl.901378--tivo:ct.2266382%%History: Big Bang
S4E[2]:tivo:cl.901378--tivo:ct.2288681%%History: She Sells More than Sea Shells
S4E[16]:tivo:cl.901378--tivo:ct.93510508%%Hello---Good-bye

(Users can get this data in their MG3 appdata folder using the *-dumpRPC* command line option.)

Obviously most episodes are missing, some have no S/E and there are mismatches between the S/E data from RPC and theTVDB.


----------



## Joe3

Spent some time with the latest version of MG3. Check the programID box, TV, I get an error getting seriesID:RPC;Check TiVo credentials. For Movie, I get RPC Error: Check TiVo credentials.

Went to settings, Mind RPC, Set path to Python exe. To Python 27, put in the name the TiVo is registered as,
TiVo password, which is the Acess Key, TiVo TSN, which is the model #. 

I believe error messages to be correct, What am I doing wrong?


----------



## dlfl

Joe3 said:


> Spent some time with the latest version of MG3. Check the programID box, TV, I get an error getting seriesID:RPC;Check TiVo credentials. For Movie, I get RPC Error: Check TiVo credentials.
> 
> Went to settings, Mind RPC, Set path to Python exe. To Python 27, put in the name the TiVo is registered as,
> TiVo password, which is the Acess Key, TiVo TSN, which is the model #.
> 
> I believe error messages to be correct, What am I doing wrong?


TiVo User Name is an email address.

TiVo Password is the password set in your TiVo.com account

TiVo TSN is a 15 digit number found on your TiVo in account settings.
*EDIT* (4 Oct 2018): Correction, TSN is a 15-character alphanumeric string


----------



## Soapm

HerronScott said:


> Twelve O'Olock High (1949 movie) MV0000996724-0000996725
> 
> Scott


Thanks, I'm missing most of the information on these shows but I can see them on TVDB.

Twelve O'Olock High was also a TV show from the early 60's (started in BW and ended in Color). That's what I was trying to get but I see you have to enter is as "12 O'Clock High".


----------



## Soapm

Joe3 said:


> Spent some time with the latest version of MG3. Check the programID box, TV, I get an error getting seriesID:RPC;Check TiVo credentials. For Movie, I get RPC Error: Check TiVo credentials.
> 
> Went to settings, Mind RPC, Set path to Python exe. To Python 27, put in the name the TiVo is registered as,
> TiVo password, which is the Acess Key, TiVo TSN, which is the model #.
> 
> I believe error messages to be correct, What am I doing wrong?


Is there information on these settings? I have two registered Tivo's but I I'm not sure what all the settings do?


----------



## Joe3

dlfl said:


> TiVo User Name is an email address.
> 
> TiVo Password is the password set in your TiVo.com account
> 
> TiVo TSN is a 15 digit number found on your TiVo in account settings.


Thanks, for the quick reply! But isn't this giving up the keys to the Kingdom? I mean if anyone ever hacked the program they could get into my account. They could do a lot of damage with it, and since we all know the nightmare hell of official TiVo support, I could just imagine the nightmare of having to explain to someone who barely can speak English, and is halfway around the world, what MG3 is when they just about know what the hell a TiVo is.
Many pay TiVo with credit cards on their accounts. I love what you guys are doing, but doesn't personal privacy outway a better TiVo art transfer back to the TiVo from a PC? Am I wrong?


----------



## dlfl

Joe3 said:


> Thanks, for the quick reply! But isn't this giving up the keys to the Kingdom? I mean if anyone ever hacked the program they could get into my account. They could do a lot of damage with it, and since we all know the nightmare hell of official TiVo support, I could just imagine the nightmare of having to explain to someone who barely can speak English, and is halfway around the world, what MG3 is when they just about know what the hell a TiVo is.
> Many pay TiVo with credit cards on their accounts. I love what you guys are doing, but doesn't personal privacy outway a better TiVo art transfer back to the TiVo from a PC? Am I wrong?


General disclaimer: I make no guarantee as to the security risk of using MG3. Anyone who is concerned about security is free not to use the RPC searches in MG3.

Although I'm not personally worried, there is no way I can imagine all the possible ways MG3 (or your PC, or your network, or TiVo.com) could be hacked to get your TiVo credentials or how much damage could be done using them. I would at least hope that even with your credentials it would not be possible for someone to put charges on your credit card -- but I'm not positive about that.

The credentials are probably sent over the internet in plain text (i.e., not encrypted) so a man-in-the-middle attack could grab them. But maybe not -- there is a TiVo security certificate that is involved in MG3 communications with TiVo servers.


----------



## dlfl

I had a conversation with @moyekj about the security issue. He is the programmer of kmttg and provided the framework of Python code that MG3 uses for RPC searches. I quote his response:


> The program communicates with TiVo servers the same way a TiVo or iOS/Android apps do, so it's as secure as them. The only unsafe part is the username and password are specified in plain text as part of MG3 program/installation [actually during configuration -- dlfl], but then that would mean a hacker has penetrated your router firewall and you have a lot more to worry about than your TiVo username/password.


This is what I suspected so I don't think there is much danger particular to MG3.


----------



## Soapm

Just curious, is there a way to have MG3 do a whole series of shows automatically? Even one season at a time?

I having to redo all my shows with new series/program id's with the way it now works and it's very time consuming having to do one show at a time. Just making sure I'm not missing a feature that would simplify this.


----------



## dlfl

Soapm said:


> Just curious, is there a way to have MG3 do a whole series of shows automatically? Even one season at a time?
> 
> I having to redo all my shows with new series/program id's with the way it now works and it's very time consuming having to do one show at a time. Just making sure I'm not missing a feature that would simplify this.


Yes. Try right-clicking on either an entire series or a season in the tree the appears when you select a series title. How, and how well, this works depends on how you have your episodes arranged in folders and what naming convention has been applied to them. Give it a try.


----------



## HerronScott

Joe3 said:


> Thanks, for the quick reply! But isn't this giving up the keys to the Kingdom? I mean if anyone ever hacked the program they could get into my account. They could do a lot of damage with it, and since we all know the nightmare hell of official TiVo support, I could just imagine the nightmare of having to explain to someone who barely can speak English, and is halfway around the world, what MG3 is when they just about know what the hell a TiVo is.
> Many pay TiVo with credit cards on their accounts. I love what you guys are doing, but doesn't personal privacy outway a better TiVo art transfer back to the TiVo from a PC? Am I wrong?


No I don't really see an issue with your TiVo account and password being stored in a program local to your PC. Not sure what "damage" someone could do since if someone were to get it you still have to provide credit card information if you order something from the TiVo store logged in as yourself. I guess someone could cancel your service or log into TiVo Online and delete your TV shows but the actual risk level of someone targeting MetaGenerator with a custom trojan to do those activities with your TiVo has to be close to 0. Hackers have bigger targets where they would go after your bank account or credit card numbers or these days even your Amazon account might be a nice target.

Note that MetaGenerator doesn't enable the transfer or population of art on show transfers from a PC to a Tivo.

Scott


----------



## HerronScott

dlfl said:


> The two "Tour of Duty" episodes are easily resolved with right-click Get Program ID
> 
> (Users can get this data in their MG3 appdata folder using the *-dumpRPC* command line option.)
> 
> Obviously most episodes are missing, some have no S/E and there are mismatches between the S/E data from RPC and theTVDB.


Thank you! I've never run into that issue myself so haven't had to learn how to fix it (but now I know). 

Scott


----------



## dlfl

HerronScott said:


> ...... Note that MetaGenerator doesn't enable the transfer or population of art on show transfers from a PC to a Tivo. .....


To be clear:


wmcbrine said:


> And to be clear, this is a TiVo issue, not a pyTivo issue. The TiVo never requests art from pyTivo (nor from TiVo Desktop, nor etc.).


MG3 optionally will include a (local) file location for a poster art image in the output .txt pyTivo metadata file. There was a reason for this but frankly my memory is a little hazy about it. I think it might have been to support freeware called "StreamBaby" (Streambaby - new streaming application).


----------



## Joe3

dlfl said:


> To be clear:
> 
> MG3 optionally will include a (local) file location for a poster art image in the output .txt pyTivo metadata file. There was a reason for this but frankly my memory is a little hazy about it. I think it might have been to support freeware called "StreamBaby" (Streambaby - new streaming application).


I have many DVDs that I off loaded to a computer server. All information transfers to the TiVo, but no art. Can MG3 through RPC find the programID, seriesID so that Movie and TV art can also transferred from my PC to my TiVo Romeo with the rest of the information text ?


----------



## Soapm

dlfl said:


> Yes. Try right-clicking on either an entire series or a season in the tree the appears when you select a series title. How, and how well, this works depends on how you have your episodes arranged in folders and what naming convention has been applied to them. Give it a try.


Wow, that's cool... thanks...


----------



## elprice7345

Joe3 said:


> I have many DVDs that I off loaded to a computer server. All information transfers to the TiVo, but no art. Can MG3 through RPC find the programID, seriesID so that Movie and TV art can also transferred from my PC to my TiVo Romeo with the rest of the information text ?


@Joe3 - to be slightly pedantic, pyTivo doesn't transfer any cover art. All cover art is generated by your TiVo, when a show is loaded with a valid programId.

That being said, programIds are available for anything you can find in the TiVo ecosystem including recorded (or linear content) and streaming content from any of the supported streaming services. Make sure you have all the major streaming services turned on on your TiVo so the search function will find them. For example, if you turn the HBO streaming service off, TiVo won't find any streaming content that is only on HBO.

Also, just because a show is available on a streaming service, doesn't mean TiVo has added it to their ecosystem. It should get added eventually, but sometimes you have to complain to TiVo.

If you have any trouble finding a show, post in this thread and we'll see if we can help you.


----------



## Joe3

elprice7345 said:


> @Joe3 - to be slightly pedantic, pyTivo doesn't transfer any cover art. All cover art is generated by your TiVo, when a show is loaded with a valid programId.
> 
> That being said, programIds are available for anything you can find in the TiVo ecosystem including recorded (or linear content) and streaming content from any of the supported streaming services. Make sure you have all the major streaming services turned on on your TiVo so the search function will find them. For example, if you turn the HBO streaming service off, TiVo won't find any streaming content that is only on HBO.
> 
> Also, just because a show is available on a streaming service, doesn't mean TiVo has added it to their ecosystem. It should get added eventually, but sometimes you have to complain to TiVo.
> 
> If you have any trouble finding a show, post in this thread and we'll see if we can help you.


Thanks for the clarification!


----------



## Soapm

Here are three shows I'm having trouble getting info on;

MASH
Gomer Pyle, U.S.M.C.
The Gallant Men***

Can someone take a look?

*** This one pulls but most of the shows are in red


----------



## elprice7345

Soapm said:


> Here are three shows I'm having trouble getting info on;
> 
> MASH
> Gomer Pyle, U.S.M.C.
> The Gallant Men***
> 
> Can someone take a look?
> 
> *** This one pulls but most of the shows are in red


MASH = M*A*S*H = SH0000020792

All the episodes have programIds. If you search by season/episode number, almost all are populated. Some episodes with duplicate programIds don't get automatically populated. You have to right-click on the episode and select the one you want.

Gomer Pyle, U.S.M.C. = Gomer Pyle, USMC = SH0000018422

All episodes have programIds. This one is a little trickier. First you have to override the series title in the programId dialog box with "Gomer Pyle, USMC" and then click the box on the bottom right "Use Deep (slow) search".

The Gallant Men = SH0006013683

Another problem child. kmttg doesn't find any episodes at all, but MG3 finds the series and matches 11 of the 26 episodes with programIds. I don't know of anything you can do if MG3 doesn't find the programIds. At least, MG3 found a seriesId. That means after getting the programIds, you can click the "Set seriesId" button and MG3 will populate the seriesId for all episodes, even those that don't have a programId. At least the shows will group together when you pull them to your TiVo.


----------



## Soapm

When I search for MASH or Gomer Pyle I get the attached error saying;

"Error getting series id:
RPC: error executing process"

Mash

But only on those two shows, I've been pulling literally hundreds of others no problem...

Edited to add more that are getting that error;

The Wire
Welcome Back Kotter
The Green Hornet

TIA


----------



## Soapm

elprice7345 said:


> MASH = M*A*S*H = SH0000020792
> 
> Gomer Pyle, U.S.M.C. = Gomer Pyle, USMC = SH0000018422
> 
> The Gallant Men = SH0006013683
> 
> you can click the "Set seriesId" button and MG3 will populate the seriesId for all episodes, even those that don't have a programId. At least the shows will group together when you pull them to your TiVo.


Thanks for providing these series id's, they worked...


----------



## Joe3

Can Anyone get the I'd for the movie

Charlie Chan on Broadway 
Charlie Chan the Black Camel 
W. C. fields, It's a Gift

Thanks in advance


----------



## elprice7345

Joe3 said:


> Can Anyone get the I'd for the movie
> 
> Charlie Chan on Broadway
> Charlie Chan the Black Camel
> W. C. fields, It's a Gift
> 
> Thanks in advance


@Joe3 I'm always happy to help, but it was very easy for me using MG3 to find these programIds. Can you not find them? Teach a man to fish &#8230; blah, blah, blah

Charlie Chan on Broadway = "Charlie Chan on Broadway (1937)" = MV0000177645-0000177646
Charlie Chan the Black Camel = "Charlie Chan in The Black Camel (1931)" = MV0356175791-0356677574
W. C. fields, It's a Gift = "It's a Gift (1934)" = MV0003630380-0003630381


----------



## elprice7345

Soapm said:


> When I search for MASH or Gomer Pyle I get the attached error saying;
> 
> "Error getting series id:
> RPC: error executing process"
> 
> Mash
> 
> But only on those two shows, I've been pulling literally hundreds of others no problem...
> 
> Edited to add more that are getting that error;
> 
> The Wire
> Welcome Back Kotter
> The Green Hornet
> 
> TIA


@Soapm - similar feedback to my post to @Joe3 - I easily found seriesIds and programIds for these series. I think there's something wrong with your MG3 setup.

When I can't find a seriesId in MG3, I get the "RPC returned nothing" message, which means MG3 searched and didn't find anything. When your search fails, you get something different, "Error executing process". This tells me something went wrong with your search process and we need to look at your MG3 setup.

@dlfl - What would generate such an error?

For the record, here are the seriesIds for the shows you mention above.
The Wire = SH0006056523 - found programIds for all episodes
Welcome Back Kotter = SH0001141040 - found programIds for all episodes
The Green Hornet = SH0013806186 - found programIds for all episodes


----------



## dlfl

Soapm said:


> When I search for MASH or Gomer Pyle I get the attached error saying;
> 
> "Error getting series id:
> RPC: error executing process"
> 
> Mash
> 
> But only on those two shows, I've been pulling literally hundreds of others no problem...
> 
> Edited to add more that are getting that error;
> 
> The Wire
> Welcome Back Kotter
> The Green Hornet
> 
> TIA





elprice7345 said:


> @Soapm &#8230;...
> When I can't find a seriesId in MG3, I get the "RPC returned nothing" message, which means MG3 searched and didn't find anything. When your search fails, you get something different, "Error executing process". This tells me something went wrong with your search process and we need to look at your MG3 setup.
> 
> @dlfl - What would generate such an error?
> &#8230;&#8230;&#8230;..


"error executing process" means a low level error occurred running the Python script that does RPC searches. There are a number of other errors that give more specific messages such as:
"RPC returned nothing"
"RPC: Check TiVo credentials"
"RPC: Unable to startprocess"
"RPC: middlemind server didn't respond"

@Soapm
I, like @elprice7345 , have no trouble with the series that give you this error. And since the error message doesn't occur for most of your searches, and is low level and non-specific, it's somewhat of a mystery. Are you using a Python installation or the rpcSearch126.exe file? Also I noticed from one of your other posts that you use a Win XP system for some of your work. Is that the one that gives these errors?


----------



## Joe3

elprice7345 said:


> @Joe3 I'm always happy to help, but it was very easy for me using MG3 to find these programIds. Can you not find them? Teach a man to fish &#8230; blah, blah, blah
> 
> Charlie Chan on Broadway = "Charlie Chan on Broadway (1937)" = MV0000177645-0000177646
> Charlie Chan the Black Camel = "Charlie Chan in The Black Camel (1931)" = MV0356175791-0356677574
> W. C. fields, It's a Gift = "It's a Gift (1934)" = MV0003630380-0003630381


Thanks, but they didn't work.
I have a Romeo
I am using Windows xp on an old computer dictated to VideoRedo, Kmttg, and Pytivo.
The movie Ids are in the text file where they are supposed to be, but still blue place holder instead of the art.
IsEpisode(ic) shows "false", should it show "true"?
The videos are mpg, not a TiVo file, could this be the problem?


----------



## Soapm

dlfl said:


> @Soapm
> I, like @elprice7345 , have no trouble with the series that give you this error. And since the error message doesn't occur for most of your searches, and is low level and non-specific, it's somewhat of a mystery. Are you using a Python installation or the rpcSearch126.exe file? Also I noticed from one of your other posts that you use a Win XP system for some of your work. Is that the one that gives these errors?


I use the rpcsearch126.exe in the MG3 folder.

And I use my Win10 machine for naming files.

I do have a XP64 machine that I use for all my video encoding work since that machine has the VideoRedo license from way back. But I've since learned that the java is out of date and can't be updated so KMTTG doesn't work on that machine.


----------



## Dan203

Soapm said:


> I use the rpcsearch126.exe in the MG3 folder.
> 
> And I use my Win10 machine for naming files.
> 
> I do have a XP64 machine that I use for all my video encoding work since that machine has the VideoRedo license from way back. But I've since learned that the java is out of date and can't be updated so KMTTG doesn't work on that machine.


You're allowed to install VideoReDo on more than one personal machine.


----------



## Soapm

elprice7345 said:


> @Soapm - similar feedback to my post to @Joe3 - I easily found seriesIds and programIds for these series. I think there's something wrong with your MG3 setup.
> 
> When I can't find a seriesId in MG3, I get the "RPC returned nothing" message, which means MG3 searched and didn't find anything. When your search fails, you get something different, "Error executing process". This tells me something went wrong with your search process and we need to look at your MG3 setup.
> 
> @dlfl - What would generate such an error?


thanks for the series id's, I tried deleting MG3 and using a fresh unziped copy but no difference. I don't know what else it can be since there is no actual install???


----------



## Soapm

Dan203 said:


> You're allowed to install VideoReDo on more than one personal machine.


I wasn't sure if the version I paid for will run on Win10 but I guess there's nothing like a try.

I also would have no idea where my activation code is but maybe I can get it from their site.


----------



## Dan203

Soapm said:


> I wasn't sure if the version I paid for will run on Win10 but I guess there's nothing like a try.
> 
> I also would have no idea where my activation code is but maybe I can get it from their site.


I'm the developer.  If it's v3 or newer it'll work on Win10. If you need the license key send us an email at support and we can look it up for you.


----------



## Soapm

I deleted my MG3 folder and did a fresh unzip again, not I get this error when I launch it. And I still get the same error message trying to pull MASH.



Code:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\MetaGenerator\distroSeriesIds.txt' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Delete(String path)
   at MetaDataSearch.MiddleMindRpc.ReadKnownCollectionIds(String& resultsMsg, Boolean& didMerge)
   at MetaGeneratorV2.frmMain.frmMain_Shown(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnShown(EventArgs e)
   at System.Windows.Forms.Form.CallShownEvent()
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8935 (WinRelRS4.050727-8900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MetaGenerator Version 3
    Assembly Version: 3.8.4.0
    Win32 Version: 3.8.4
    CodeBase: file:///C:/Program%20Files%20(x86)/MetaGenerator/MetaGenerator%20Version%203.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8922 (WinRelRS4.050727-8900)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8934 (WinRelRS4.050727-8900)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8922 (WinRelRS4.050727-8900)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
MetaDataSearch
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/MetaGenerator/MetaDataSearch.DLL
----------------------------------------
Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8922 (WinRelRS4.050727-8900)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

EDITED TO ASK: Where are the MG3 configurations stored? I notice my settings remain such as;

{title} - s{seasonnum}e{epnum} - {eptitle}

and my Mind RPC settings/mappings...


----------



## dlfl

Soapm said:


> thanks for the series id's, I tried deleting MG3 and using a fresh unziped copy but no difference. I don't know what else it can be since there is no actual install???


Correct, there is no install. If not already doing so:
1. Put MG3 (and rpcSearch126.exe) in a folder not under the Program Flles or Program Files X86 folders.
2. Use the latest test version 3.85T1 that was attached to post #74

If you are running in a non-administrator account, try launching MG3 with "Run as Administrator".


----------



## dlfl

@Soapm 
I posted #120 before I saw your post #119. That error is a file permission error on a distributed file (distroSeriesIds.txt) in your runtime folder. It may be related to one or more of the following:
1. Not running as administrator
2. Putting MG3 under the Program Files (x86) folder
3. Quirks that happen when you unzip files into a Program Files (x86) folder.

Open a command window and type:
echo %APPDATA%\metagenerator
That is the folder where all the MG3 configuration and data is located.


----------



## Soapm

dlfl said:


> Correct, there is no install. If not already doing so:
> 1. Put MG3 (and rpcSearch126.exe) in a folder not under the Program Flles or Program Files X86 folders.
> 2. Use the latest test version 3.85T1 that was attached to post #74
> 
> If you are running in a non-administrator account, try launching MG3 with "Run as Administrator".


Ran the test MG3 from root of C:\ ==> same error.
Ran from desktop ==> same error...
Right click and ran as administrator ==> same error.

Also, I right clicked distroSeriesIds.txt and gave full access to everyone and everything since I figured it couldn't hurt nothing, it got rid of the error.

Edited to add; I renamed the folder with all my settings which did remove them. Unfortunately, I ran the text version as administrator and got the same error.

Edited again to add: The error has something to do with my TivoHD TSN, I switched to my Premiers TSN and was able to pull the series id for MASH. I verified the TivoHD TSN was correct.


----------



## Soapm

Dan203 said:


> I'm the developer.  If it's v3 or newer it'll work on Win10. If you need the license key send us an email at support and we can look it up for you.


My compliments to the chef, that program is the best thing since sliced bread. I don't want to go in my office since the door squeaks and wakes up my wife but I think I'm running version 5. I will have to look into updating the machine in my office to Win10, if and when I do I will hit support up for the license.


----------



## dlfl

Soapm said:


> .......
> Edited to add; I renamed the folder with all my settings which did remove them. Unfortunately, I ran the text version as administrator and got the same error.


??? Is "same error" the error you reported in post #107 or the one in post #119?


Soapm said:


> .......
> Edited again to add: The error has something to do with my TivoHD TSN, I switched to my Premiers TSN and was able to pull the series id for MASH. I verified the TivoHD TSN was correct.


I've gathered from other posts that your Tivo HD is hacked, correct? I wonder if that could make this difference?

So .... is anyone else successfully using MG3 with a TiVo HD or Series 3 TSN?


----------



## dlfl

@Soapm
Regarding the permissions issue on distroSeriesIds.txt, please follow this procedure when extracting MG3 distribution files:
1. After downloading the distro .zip file, right-click it and view properties. If there is a button or checkbox to "unlock" the file, do it.
2. Select and permanently delete (Shift-Del) all the files in the MG3 runtime folder. This may prompt you for administrator credentials.
3. Open the zip as a compressed folder in Explorer.
4. Select all files (Ctrl-A), right-click and select copy.
5. In the runtime folder, right-click and select paste. You may be prompted for administrator credentials.


----------



## Soapm

dlfl said:


> ??? Is "same error" the error you reported in post #107 or the one in post #119?
> 
> I've gathered from other posts that your Tivo HD is hacked, correct? I wonder if that could make this difference?
> 
> So .... is anyone else successfully using MG3 with a TiVo HD or Series 3 TSN?


Yes, same as previous error and yes my TivoHD is hacked.

Edited to add: Not sure if it would help but I'd trust you with my TSN's. Only error message I'm getting now is "No series id found" which makes sense with odd shows like "African's in America..."


----------



## elprice7345

Joe3 said:


> Thanks, but they didn't work.
> 
> I have a Romeo
> 
> I am using Windows xp on an old computer dictated to VideoRedo, Kmttg, and Pytivo.
> 
> The movie Ids are in the text file where they are supposed to be, but still blue place holder instead of the art.
> 
> IsEpisode(ic) shows "false", should it show "true"?
> 
> The videos are mpg, not a TiVo file, could this be the problem?


If your pyTivo is setup properly, mpg files should transfer.

Did your movies pull to your TiVo and aren't displaying cover art or are they not pulling at all?

If they transferred, did any metadata come across?

Movies should have "isEpisodic : false", but I don't think it matters.

The programId in the metadata file for "Charlie Chan on Broadway" should read:
"programId : MV0000177645-0000177646"


----------



## dlfl

Soapm said:


> Yes, same as previous error and yes my TivoHD is hacked.
> 
> Edited to add: Not sure if it would help but I'd trust you with my TSN's. Only error message I'm getting now is "No series id found" which makes sense with odd shows like "African's in America..."


Having your TSN will not help.

I've lost track of where you are now. If you are still having unexpected failures please answer the following for each machine:
1. What version of Windows?
2. Which TiVo's TSN is being used?
3. Does a fresh installation following the unzipping procedure I gave in post #125 work? If not what specific error message do you get?
4. Are you running on an account with admin privileges?
5. What folder are you installing MG3 in?


----------



## toy4x4

Just found MetaGenerator. First, looks like a great program! Only question I have so far is if there is a easy way to default to have the episode number in episodeTitle? When I transfer a lot of TV shows, I would prefer to see the episode # in the title to more easily tell the episode order. I read the 7 pages here and tried to search at the pyTivo forums.


----------



## dlfl

toy4x4 said:


> Just found MetaGenerator. First, looks like a great program! Only question I have so far is if there is a easy way to default to have the episode number in episodeTitle? When I transfer a lot of TV shows, I would prefer to see the episode # in the title to more easily tell the episode order. I read the 7 pages here and tried to search at the pyTivo forums.


Yes,
Take a look at this:
pyTivo Discussion Forum :: View topic - MetaGenerator Version 3


----------



## toy4x4

Thanks, is there a list of tags somewhere? Sorry, the pytivo forum's search is rather archaic.


----------



## elprice7345

toy4x4 said:


> Thanks, is there a list of tags somewhere? Sorry, the pytivo forum's search is rather archaic.


Open the setting tab, select the bottom left drop-down box and you'll see a list of tags.

I use: {title}-S{seasonnum}E{epnum}-{eptitle}

Which produces something like: Better Call Saul-S04E06-Pinata.ts

My movie template is: {title} ({movieyear})

Which produces: Once Upon a Time in Mexico (2003).mpg


----------



## dlfl

toy4x4 said:


> Thanks, is there a list of tags somewhere? Sorry, the pytivo forum's search is rather archaic.





elprice7345 said:


> Open the setting tab, select the bottom left drop-down box and you'll see a list of tags.
> &#8230;&#8230;...


You want to enter an Episode title Template -- just below the center of the Settings Tab. Note that copy-and-paste for the tags is facilitated using the "Copy to Clipboard" button and Ctrl-V.


----------



## dlfl

Ver. 3.85 has been released. See first post for download link and change log entry. This is functionally identical to test distro 3.85T1.


----------



## elprice7345

Sorry @dlfl!

I meant to get you an updated knownSeriesIds.txt file before you published.

Keep it for the next release or for anyone to update their own files.


----------



## Joe3

elprice7345 said:


> If your pyTivo is setup properly, mpg files should transfer.
> 
> Did your movies pull to your TiVo and aren't displaying cover art or are they not pulling at all?
> 
> If they transferred, did any metadata come across?
> 
> Movies should have "isEpisodic : false", but I don't think it matters.
> 
> The programId in the metadata file for "Charlie Chan on Broadway" should read:
> "programId : MV0000177645-0000177646"


Thanks, for the help.

Did your movies pull to your TiVo and aren't displaying cover art or are they not pulling at all?

My movies pulled to my TiVo, but did not displaying cover art.

If they transferred, did any metadata come across?

The metadata that transferred was Title and Description.

There is also something I noticed, when transferring HD content back to TiVo Roamio from my computer, it downgrades it to 480p, but when I transfer the same HD content to my series 3 it retains the HD. I have and will not go Hydra on the Roamio, but this has been happening since I have been using the Roamio. I know that someone here may know this problem and know how to solve it. Can someone tell me what I can do to stop the Roamio from downgrading HD content from the computer???


----------



## Soapm

Dan203 said:


> I'm the developer.  If it's v3 or newer it'll work on Win10. If you need the license key send us an email at support and we can look it up for you.


Not to tread jack Dan but is there a videoredo support thread? If so can a moderator move this over?

I got the shows I want recorded on my premier and used KMTTG to down load them to my XP64 machine. I had to purchase the upgrade to Video Suite 5 since it said x264(5)? was unsupported with the version of VideoRedo I had (v3 Pro) but now it says no audio and won't open the files???

I did have the TS box checked in KMTTG and metedata, that was all...

I watch the shows on the Tivo and audio is there...

I know this sounds confusing but I'm doing it this way because I couldn't get pyTivo to download the files directly to my xp64 box so I'm using KMTTG from my Win10 laptop but I have my XP64 machine set as the destination since it has the larger drives and is where all my video editing is done. I can't run KMTTG on it because the java version needed is unsupported on xp64.


----------



## dlfl

Soapm said:


> Not to tread jack Dan but is there a videoredo support thread? If so can a moderator move this over?
> ......


@Dan203 is a super moderator for this forum so I expect he could do the move. You can post VRD question threads on this sub-forum and he, or one of the many other experts, will usually respond.

The direct support route for VRD is their forum:
VideoReDo Video Editor Forums


----------



## Soapm

dlfl said:


> @Dan203 is a super moderator for this forum so I expect he could do the move. You can post VRD question threads on this sub-forum and he, or one of the many other experts, will usually respond.
> 
> The direct support route for VRD is their forum:
> VideoReDo Video Editor Forums


Cool, thanks and sorry for tread crapping...

I figured it would have a live thread like pyTivo and KMTTG but I guess not.


----------



## Dan203

Soapm said:


> Not to tread jack Dan but is there a videoredo support thread? If so can a moderator move this over?
> 
> I got the shows I want recorded on my premier and used KMTTG to down load them to my XP64 machine. I had to purchase the upgrade to Video Suite 5 since it said x264(5)? was unsupported with the version of VideoRedo I had (v3 Pro) but now it says no audio and won't open the files???
> 
> I did have the TS box checked in KMTTG and metedata, that was all...
> 
> I watch the shows on the Tivo and audio is there...
> 
> I know this sounds confusing but I'm doing it this way because I couldn't get pyTivo to download the files directly to my xp64 box so I'm using KMTTG from my Win10 laptop but I have my XP64 machine set as the destination since it has the larger drives and is where all my video editing is done. I can't run KMTTG on it because the java version needed is unsupported on xp64.


Send me an email to support AT VideoReDo.com

This will require some troubleshooting and will be easier via email.


----------



## Soapm

Dan203 said:


> Send me an email to support AT VideoReDo.com
> 
> This will require some troubleshooting and will be easier via email.


I figured it out but will still send you a message in a couple of days or so.


----------



## Soapm

I found what I think is a quirk in MG3, I had metadata files from the Tivo and was renaming The Pacific War in Color series which again didn't find when I did the rpc search but was no big deal since I got these with the metadata off my Tivo. I have program id set to prefer MG3 yet it wanted to blank out the program id's in files that had the info.

Does MG3 understand that blanks means it doesn't have the info and should leave what's in the file there? I had to change the setting to Prefer Tivo to rename my files while maintaining the metadata.


----------



## HerronScott

Joe3 said:


> There is also something I noticed, when transferring HD content back to TiVo Roamio from my computer, it downgrades it to 480p, but when I transfer the same HD content to my series 3 it retains the HD. I have and will not go Hydra on the Roamio, but this has been happening since I have been using the Roamio. I know that someone here may know this problem and know how to solve it. Can someone tell me what I can do to stop the Roamio from downgrading HD content from the computer???


What program are you using to transfer shows back to the Roamio including version?

Scott


----------



## Joe3

HerronScott said:


> What program are you using to transfer shows back to the Roamio including version?
> 
> Scott


Thanks,

pyTiVo: Ver-2008.5.02


----------



## dlfl

Soapm said:


> I found what I think is a quirk in MG3, I had metadata files from the Tivo and was renaming The Pacific War in Color series which again didn't find when I did the rpc search but was no big deal since I got these with the metadata off my Tivo. I have program id set to prefer MG3 yet it wanted to blank out the program id's in files that had the info.
> 
> Does MG3 understand that blanks means it doesn't have the info and should leave what's in the file there? I had to change the setting to Prefer Tivo to rename my files while maintaining the metadata.


What do you have "Overall merge Strategy" set to? If it's set to "MG3_ONLY" it will result in the behavior you're seeing. (As described in the text just below the "Overall Merge Strategy" pull-down selector.) In that case you probably will prefer setting overall strategy to PREFER_MG3. And then if you have the programId override set to PREFER_MG3 you will get a prompt warning you are about to remove and not replace the programId and asking if you want to continue. In other words you might want to set the programId override to "PREFER_TIVO".


----------



## Soapm

dlfl said:


> *What do you have "Overall merge Strategy" set to? * If it's set to "MG3_ONLY" it will result in the behavior you're seeing. (As described in the text just below the "Overall Merge Strategy" pull-down selector.) In that case you probably will prefer setting overall strategy to PREFER_MG3. And then if you have the programId override set to PREFER_MG3 you will get a prompt warning you are about to remove and not replace the programId and asking if you want to continue. In other words you might want to set the programId override to "PREFER_TIVO".


Prefer MG3 and I do get the warning saying I'm about to remove and not replace etc...

But does "I prefer MG3" mean it should remove what Tivo has provided, even when it has nothing to replace it with. That sounds more like "MG3 only" to me.

But then it could be just me??? I would prefer a setting that says keep what I have unless you have something to replace it with.


----------



## dlfl

Soapm said:


> Prefer MG3 and I do get the warning saying I'm about to remove and not replace etc...
> 
> But does "I prefer MG3" mean it should remove what Tivo has provided, even when it has nothing to replace it with. That sounds more like "MG3 only" to me.
> 
> But then it could be just me??? I would prefer a setting that says keep what I have unless you have something to replace it with.


What do you have the programId/seriesId override set to? If you set it to PREFER_TIVO it should do what you want. I see your point -- considering a mod to address that.


----------



## Soapm

dlfl said:


> What do you have the programId/seriesId override set to? If you set it to PREFER_TIVO it should do what you want. I see your point -- considering a mod to address that.


I have it set to "prefer MG3" which is the preference I desire, but it seems to work like "MG3 or we'll delete what you have and give you nothing." That behavior feels more like MG3 only to me. Perhaps it's just me that feels this way but we should at least get an option on the warning to keep what we have, and not chose between accept the blank or we'll stop the process completely.

I ended up having to change that setting to Tivo Preferred just to keep the program data, but that's not a permanent setting since MG3 normally has program data.

I guess the way I'm seeing it, if MG3 has nothing for that field then I should be able to keep what I have with the "Prefer" setting. "Only" should mean *only* give me what that option has (Tivo or MG3) but prefer seems to imply choice, I prefer this but in the absence of this I'll keep or accept that.

Thanks for listening... Good product by the way, I never knew it did so much but this thing is now a super tool. Good job!!!


----------



## elprice7345

Some thoughts on the Merge Strategy …

I have my Overall set to PREFER_MG3.

My only override item is for programId which I normally have set to PREFER_TIVO.

This allows me to use the TVDB metadata (episode title, episode number, etc.) and MG3 tells me when the RPC and recorded programIds differ. If they differ, I can then do further research to determine why and choose the preferred programId.

When I’m cleaning up pre-Rovi programIds, (yes, I’m still doing that) I change the override to PREFER_MG3. This allows me to override an existing, although, incorrect programId with the correct programId.

The remove programId logic was added so that an incorrect programId would be removed in this scenario and the warning was added to protect me from myself. If I forgot to change the option back, MG3 wouldn’t remove programIds unintentionally.

Overriding programIds is also useful because Rovi/TiVo sometimes changes and/or cleans up programIds retroactively.

I think the logic is good as it is unless someone can identify a whole in our process/logic?

Is there a scenario/workflow that isn't addressed?


----------



## Soapm

elprice7345 said:


> Some thoughts on the Merge Strategy &#8230;
> 
> I have my Overall set to PREFER_MG3.
> 
> My only override item is for programId which I normally have set to PREFER_TIVO.
> 
> This allows me to use the TVDB metadata (episode title, episode number, etc.) and MG3 tells me when the RPC and recorded programIds differ. If they differ, I can then do further research to determine why and choose the preferred programId.
> 
> When I'm cleaning up pre-Rovi programIds, (yes, I'm still doing that) I change the override to PREFER_MG3. This allows me to override an existing, although, incorrect programId with the correct programId.
> 
> The remove programId logic was added so that an incorrect programId would be removed in this scenario and the warning was added to protect me from myself. If I forgot to change the option back, MG3 wouldn't remove programIds unintentionally.
> 
> Overriding programIds is also useful because Rovi/TiVo sometimes changes and/or cleans up programIds retroactively.
> 
> I think the logic is good as it is unless someone can identify a whole in our process/logic?
> 
> Is there a scenario/workflow that isn't addressed?


Prefer MG3...

Yes, if MG3 has no program id it blanks out the one you do have with an option to keep it. Your logic assumes the program id in the current file is incorrect, that isn't always the case. Prefer seems to say I prefer this over that, not blank out that if it can't be this.


----------



## elprice7345

I see @Soapm's point. It hasn't come up for me, because of my workflow.

Maybe for the override options, the PREFER options should replace the existing field if the preferred option field is available and give a warning when they are different, but not remove the field if the preferred field is empty?

The ONLY options would replace any designated field with the ONLY field, give a warning when they are different and remove existing fields if not present in the ONLY metadata?

@dlfl - How does this logic differ from the current MG3 logic?

What's the current logic difference between MG3_ONLY and PREFER_MG3?


----------



## HerronScott

Joe3 said:


> Thanks,
> 
> pyTiVo: Ver-2008.5.02


You should post this in the pyTivo thread.

pyTivo - Transcoding server

wmcbrine could tell you if this is due to running an older version of pyTivo with a newer TiVo (my version is older but it's pyTivo-wmcbrine-2009.03.19-RC1). I think yours is old enough, it doesn't recognize the TSN as an HD model so it transcodes them to SD.

Check the thread below. You can either upgrade or edit the isHDtivo function in config.py.

tivo premier, HD pitivo transfers are 480

Scott


----------



## Soapm

ps... If you're going to remove something from the original Tivo metadata file, remove;

"time : 2018-09-08T19:00:00Z".

I just learned that field jacks up your NPL if you leave it in. The tivo uses this field to sort instead of the time you transferred the file to the Tivo.


----------



## Sparky1234

Soapm said:


> ps... If you're going to remove something from the original Tivo metadata file, remove "time : 2018-09-08T19:00:00Z". I just learned that field jacks up your NPL if you leave it in. The tivo uses it to sort instead of the time you transferred the file to the Tivo.


NPL?


----------



## dlfl

Try test distro Ver. 3.86T1 contained in attached zip.

Ver. 3.86T1 (14 September 2018)
*Changed: * Logic and messages for programId merges with override set to PREFER_MG3. If MG3 doesn't have value but TiVo does, warning and prompt to continue appears, but existing TiVo value is used if user continues.

I'm hoping this satisfies both @Soapm and @elprice7345 .

Also included an updated distroSeriesIds.txt file provided by @elprice7345 .


----------



## dlfl

Sparky1234 said:


> NPL?


That's a blast from the past. NPL = Now Playing List, now called Your Shows or something like that.

@Soapm and I are also blasts from the past.


----------



## OKCRandy

I there a way to do a deep search for movie ids? I am having difficulty getting ID for Great Balls of Fire and La Bomba. In fact La Bomba 1987 does not even show up when search is done.

Note: Found the problem with La Bomba 1987 not showing up, the movie data base had wrong spelling. Was La Bamba now corrected and I got the movie id.


----------



## dlfl

OKCRandy said:


> I there a way to do a deep search for movie ids? I am having difficulty getting ID for Great Balls of Fire and La Bomba. In fact La Bomba 1987 does not even show up when search is done.
> 
> Note: Found the problem with La Bomba 1987 not showing up, the movie data base had wrong spelling. Was La Bamba now corrected and I got the movie id.


moveDB still has the title as "La Bamba" in the returned data although finds "La Bomba" in the search results.

I would guess the TiVo system just doesn't have "Great Balls of Fire" in their server database at the moment. Can the programId be found using kmttg?


----------



## Soapm

dlfl said:


> Try test distro Ver. 3.86T1 contained in attached zip.
> 
> Ver. 3.86T1 (14 September 2018)
> *Changed: * Logic and messages for programId merges with override set to PREFER_MG3. If MG3 doesn't have value but TiVo does, warning and prompt to continue appears, but existing TiVo value is used if user continues.
> 
> I'm hoping this satisfies both @Soapm and @elprice7345 .
> 
> Also included an updated distroSeriesIds.txt file provided by @elprice7345 .


Thanks for listening, I will give it a try this evening.


----------



## HerronScott

dlfl said:


> So .... is anyone else successfully using MG3 with a TiVo HD or Series 3 TSN?


I don't think it will work with a TiVo older than a Premiere. I just read an older post by Kevin indicating the S3/HD and older TiVo's don't support the Mind RPC protocol/infrastructure required.

20.7.4.rc42

Maybe check the TSN that gets entered in the settings and pop-up an error message if older than a Premiere?

Scott


----------



## Soapm

dlfl said:


> Try test distro Ver. 3.86T1 contained in attached zip.
> 
> Ver. 3.86T1 (14 September 2018)
> *Changed: * Logic and messages for programId merges with override set to PREFER_MG3. If MG3 doesn't have value but TiVo does, warning and prompt to continue appears, but existing TiVo value is used if user continues.
> 
> I'm hoping this satisfies both @Soapm and @elprice7345 .
> 
> Also included an updated distroSeriesIds.txt file provided by @elprice7345 .


It worked, thanks...

I just did 108 Little Rascals shows and had to hit yes to each one because MG3 didn't find any program id's, other than that it worked great.


----------



## dlfl

Soapm said:


> It worked, thanks...
> 
> I just did 108 Little Rascals shows and had to hit yes to each one because MG3 didn't find any program id's, other than that it worked great.


Yeah, I was braced for that.

@elprice7345 , I believe you want the prompt to quit/continue, right? If so I will add a "do not show this again" checkbox to it.


----------



## Soapm

Soapm said:


> ps... If you're going to remove something from the original Tivo metadata file, remove;
> 
> "time : 2018-09-08T19:00:00Z".


I don't know anything about coding but is it possible to remove this line anytime it's in a metadata file? I find myself having to go back trough each file just to remove this line or the show doesn't appear at the top of the list (it will sort according to that field). I don't know of a scenario (movies or shows) where leaving it there serves any purpose, but I could be shortsighted...


----------



## dlfl

Soapm said:


> ps... If you're going to remove something from the original Tivo metadata file, remove;
> 
> "time : 2018-09-08T19:00:00Z".
> 
> I just learned that field jacks up your NPL if you leave it in. The tivo uses this field to sort instead of the time you transferred the file to the Tivo.





Soapm said:


> I don't know anything about coding but is it possible to remove this line anytime it's in a metadata file? I find myself having to go back trough each file just to remove this line or the show doesn't appear at the top of the list (it will sort according to that field). I don't know of a scenario (movies or shows) where leaving it there serves any purpose, but I could be shortsighted...


I assume you mean don't allow it to ever be output in a .txt file from MG3, right? The coding would be easy but I would like to get input from other users on the impact of this before doing anything. There is some closely related history on this, starting with this post in the pyTivo forum:
pyTivo Discussion Forum :: View topic - MetaGenerator Version 3
follow the thread of discussion at least up to this post:
pyTivo Discussion Forum :: View topic - MetaGenerator Version 3

I guess a safe approach would be to add yet another checkbox to the Output settings. Not thrilled about that but if necessary ......


----------



## elprice7345

dlfl said:


> Try test distro Ver. 3.86T1 contained in attached zip.
> 
> Ver. 3.86T1 (14 September 2018)
> *Changed: *Logic and messages for programId merges with override set to PREFER_MG3. If MG3 doesn't have value but TiVo does, warning and prompt to continue appears, but existing TiVo value is used if user continues.
> 
> I'm hoping this satisfies both @Soapm and @elprice7345 .
> 
> Also included an updated distroSeriesIds.txt file provided by @elprice7345 .


My Overall merge strategy is PREFER_MG3 and I never change this. I only override programId and (currently) toggle it between PREFER_MG3 and PREFER_TIVO.

I use PREFER_TIVO 98% of the time to validate between recorded programIds and RPC programIds. If there are differences, I have to figure out why and then I report them to TiVo and sometimes they correct them. 

The 2% of the time I override programId to PREFER_MG3, I'm correcting a recorded programId and/or updating an old pre-Rovi programId. When the overall strategy is PREFER_MG3, it should be the same as "NONE" and therefore pointless.

Going forward it makes more sense for me to use MG3_ONLY in my correction scenario.

I believe the user should have a warning if MG3 is going to remove metadata. Once the user has been warned, they should be able to choose to proceed or stop the process. This is the "save the user from themselves" feature that I asked for some time ago.

I believe the override logic should be something like this:
Prefer/prefer - warn if fields are different, but leave preferred field intact; create field if missing using non-preferred data; user has option to dismiss future warnings and continue or stop processing
Prefer/only - warn if fields are different or will be removed, replace/delete non-preferred fields with preferred field; user has option to dismiss future warnings and continue or stop processing

Currently, it seems that MG3 follows this mostly. The only correction I found is v3.86T1 doesn't warn in the Prefer/only scenario.

Does this logic/scenario work for everyone?


----------



## elprice7345

HerronScott said:


> I don't think it will work with a TiVo older than a Premiere. I just read an older post by Kevin indicating the S3/HD and older TiVo's don't support the Mind RPC protocol/infrastructure required.
> 
> 20.7.4.rc42
> 
> Maybe check the TSN that gets entered in the settings and pop-up an error message if older than a Premiere?
> 
> Scott


@dlfl - I agree with @HerronScott. This seems like a good improvement. Is it easy enough to add?


----------



## elprice7345

dlfl said:


> moveDB still has the title as "La Bamba" in the returned data although finds "La Bomba" in the search results.
> 
> I would guess the TiVo system just doesn't have "Great Balls of Fire" in their server database at the moment. Can the programId be found using kmttg?


The programId for "Great Balls of Fire! (1989)" = MV0000187895-0000018212

I had to remove the exclamation mark and click the update button for MG3 to find the programId.


----------



## elprice7345

dlfl said:


> I assume you mean don't allow it to ever be output in a .txt file from MG3, right? The coding would be easy but I would like to get input from other users on the impact of this before doing anything. There is some closely related history on this, starting with this post in the pyTivo forum:
> 
> pyTivo Discussion Forum :: View topic - MetaGenerator Version 3
> follow the thread of discussion at least up to this post:
> pyTivo Discussion Forum :: View topic - MetaGenerator Version 3
> 
> I guess a safe approach would be to add yet another checkbox to the Output settings. Not thrilled about that but if necessary ......


@Soapm - I believe your concern is addressed by checking the "Set "time" to OAD when possible" check box under the options tab -> Outputs. This essentially replaces the "time" field with the OAD.

Take a look and see if it meets your needs.


----------



## Soapm

elprice7345 said:


> @Soapm - I believe your concern is addressed by checking the "Set "time" to OAD when possible" check box under the options tab -> Outputs. This essentially replaces the "time" field with the OAD.
> 
> Take a look and see if it meets your needs.


I hadn't noticed that box or should I say didn't know what it did so I left it alone until you pointed it out. That box seems to change the "time" line to the "originalAirDate". So to answer your question, no, this made it worse since now the show is lower on the list and even more random than when my Tivo recorded it.



Code:


time : 1978-01-14T23:30:00Z
originalAirDate : 1978-01-14T23:30:00Z
seriesTitle : Police Story
title : Police Story
episodeTitle : River of Promises
description : To uncover an alien-smuggling ring, a California cop poses as an illegal Mexican immigrant. Cordelia: Joe Santos. Smith: Gregory Sierra. Lopez: Jaime Sanchez. Rosalia: Rose Portillo. Pedro: Julio Medina. Guzmano: Rene Enriquez. Hertz: Robert Alda. Caroline: Sue Lyon. Felco: Wolfman Jack. Fuentes: James Victor. Janzko: Frank Campanella.
isEpisode : true
isEpisodic : true
seriesId : SH0000157811
programId : EP0000157811-0356409005
episodeNumber : 0005003
displayMajorNumber : 1162
callsign : KCNCDT2

However, since you opened the can, what is that box supposed to achieve? The original air date is already in the file (or is added by MG#) so it seems like a duplication of information, perhaps a box like that which gave the option to eliminate the "time" field? Now that would fix what I'm describing (for me)?

I'm wondering if that field only impacts S3 (TivoHD) and older since no one has pointed it out before. Does that field not make your My Shows list out of sequence? Mines is sorted so that the most recently recorded stuff is at the top, but when that field there the show appears anywhere in the My Show list, according to that date/time instead of at the top.

Edited to clarify my wording.


----------



## dlfl

@Soapm 
My testing and code review indicates the only way MG3 puts a "time" item in the output .txt metadata file is if it gets it from the existing TiVo metadata .txt file, unless you have 'Set "time" to OAD when possible" checked. It doesn't get a time (recording time) value from theTVDB.

What is your source for TiVo metadata .txt files? If they have the correct time element value (the recording time on your TiVo) then that should be put in the output .txt file.


----------



## Soapm

dlfl said:


> @Soapm
> My testing and code review indicates the only way MG3 puts a "time" item in the output .txt metadata file is if it gets it from the existing TiVo metadata .txt file, unless you have 'Set "time" to OAD when possible" checked. It doesn't get a time (recording time) value from theTVDB.
> 
> What is your source for TiVo metadata .txt files? If they have the correct time element value (the recording time on your TiVo) then that should be put in the output .txt file.


From what I'm seeing, putting (or leaving) the time value in the file moves the recording to that times place in the my show list. Removing the entry puts the show at the top of the list, since it in effect has a new time. So I remove the entry from the files so any show I bring over moves to the top of my list which makes it easy to find.

The rest of what you said is correct, the fi9eld is coming from the existing Tivo metadata.

PS.. My source was the Tivo but many of my shows were recorded from 2014 forward. I'm just getting around to cleaning up my Tivo drives by archiving my recordings. It's amazing how many shows a 2TB drive can hold.


----------



## dlfl

Soapm said:


> From what I'm seeing, putting (or leaving) the time value in the file moves the recording to that times place in the my show list. Removing the entry puts the show at the top of the list, since it in effect has a new time. So I remove the entry from the files so any show I bring over moves to the top of my list which makes it easy to find.


That seems to match the behavior described in the pyTivo wiki:
Metadata - pyTivo - Wiki


Soapm said:


> The rest of what you said is correct, the fi9eld is coming from the existing Tivo metadata.
> 
> PS.. My source was the Tivo but many of my shows were recorded from 2014 forward. I'm just getting around to cleaning up my Tivo drives by archiving my recordings. It's amazing how many shows a 2TB drive can hold.


I was trying to ask what program you use to generate the TiVo metadata .txt files going into MG3.

I can add a checkbox in Output settings to "Do not include time item in output .txt files". However I don't favor yet another setting unless it's going to help you a lot -- do you still have a lot of videos to process that will require hand editing?


----------



## Soapm

dlfl said:


> I can add a checkbox in Output settings to "Do not include time item in output .txt files". However I don't favor yet another setting unless it's going to help you a lot -- do you still have a lot of videos to process that will require hand editing?


Yes, I have all of the little rascals plus war stories with Oliver North then I need to redo all the shows I previously done since that field is still in those files. I also have complete shows like Coach and Wings that I've yet to process. This is a lot of time consuming work.


----------



## dlfl

Try test distro Ver. 3.86T3 in attached zip.

Ver. 3.86T3 (17 September 2018)
*Changed:* Logic and messages for series merges.
*Enhanced:* RPC configuration will not accept TSN numbers with prefixes less than 746.
*Enhanced:* Added checkbox in Output settings to prevent time item from being output in .txt metadata files.

The changes in merge logic and messages would take too many words to fully describe here. Please just test on your relevant use cases and report back.


----------



## Soapm

dlfl said:


> Try test distro Ver. 3.86T3 in attached zip.
> 
> Ver. 3.86T3 (17 September 2018)
> *Changed:* Logic and messages for series merges.
> *Enhanced:* RPC configuration will not accept TSN numbers with prefixes less than 746.
> *Enhanced:* Added checkbox in Output settings to prevent time item from being output in .txt metadata files.
> 
> The changes in merge logic and messages would take too many words to fully describe here. Please just test on your relevant use cases and report back.


Worked perfect from my perspective, I don't know how to thank you for the great work. However, I'll send my firstborn if you PM me your address. He's a real chip off the old block. Fat, lazy and a grocery bill all by himself. I have my Tivo's and he has his play station, life would be great if the wife would deliver what we bellow for with a smile.

Seriously, is there a way to donate? I'd like to say thanks in a monetary way...


----------



## dlfl

@Soapm 
If you really want to do me a favor, let me send you my firstborn. 

I don't solicit donations (excepting those greater than $50,000) because then I would feel obligated to treat users as customers, which might involve providing documentation, a tedious onerous task.


----------



## Soapm

dlfl said:


> @Soapm
> If you really want to do me a favor, let me send you my firstborn.
> 
> I don't solicit donations (excepting those greater than $50,000) because then I would feel obligated to treat users as customers, which might involve providing documentation, a tedious onerous task.


Your first born will need to bring their own play station, mines don't know how to share...

Understood, just wanted to say thanks for all you've done... THANKS!!!


----------



## Sparky1234

dlfl said:


> Try test distro Ver. 3.86T3 in attached zip.
> 
> Ver. 3.86T3 (17 September 2018)
> *Changed:* Logic and messages for series merges.
> *Enhanced:* RPC configuration will not accept TSN numbers with prefixes less than 746.
> *Enhanced:* Added checkbox in Output settings to prevent time item from being output in .txt metadata files.
> 
> The changes in merge logic and messages would take too many words to fully describe here. Please just test on your relevant use cases and report back.


Works great! Very helpful program.


----------



## dlfl

Try test distro Ver. 3.86T5 in attached zip, which should supersede 3.86T3 from my previous post.
I've improved the popup giving merge results.


----------



## elprice7345

Testing 3.86T5

I like the changes in the merge feedback dialog box!

Could you change the layout of the message and also give the user some feedback about what will happen if they continue processing?

From:
RPC and TiVo programIds differ, EPxxx vs
EPyyy

To something like:
programIds differ: RPC: EPxxx vs TiVo: EPyyy
Continuing to process will (delete/replace) the TiVo programId

It makes it clear which programId is which and reminds the user which merge strategy they've selected.

When the merge strategy warning box pops up and the user cancels, MG3 still processes the 1st episode.

My thoughts continue to evolve on the merge strategy: I think the 4 top level strategies are still correct.

I think we may have overcomplicated the Override strategy. Please check my logic and make sure it works.

If the Overall Merge Strategy is either TIVO_ONLY or MG3_ONLY, the override strategies aren't applicable

If the Overall Merge Strategy is either PREFER_TIVO or PREFER_MG3, there should only be 3 override options: None, TiVo, and MG3
If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = None, MG3 uses the preferred option even if the fields are different and doesn't warn the user. If all the Override selections = None, this is equivalent to the Overall Merge Strategy = TIVO_ONLY or MG3_ONLY
If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = TiVo or MG3, MG3 warns the user the fields are different. The user can then proceed with MG3 replacing the field with the override choice or cancel processing
If the preferred field is empty, the field is removed from the metadata in any scenario

@dlfl - Let me know what you think.


----------



## JohnnyRocket

Been having an error:

"RPC error getting programId's"

for the last couple of days.

Has something changed in Metagenerator? Or is there something wrong with the Tivo server?


----------



## dlfl

elprice7345 said:


> .......
> I think we may have overcomplicated the Override strategy. Please check my logic and make sure it works.
> 
> If the Overall Merge Strategy is either TIVO_ONLY or MG3_ONLY, the override strategies aren't applicable
> 
> If the Overall Merge Strategy is either PREFER_TIVO or PREFER_MG3, there should only be 3 override options: None, TiVo, and MG3
> If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = None, MG3 uses the preferred option even if the fields are different and doesn't warn the user. If all the Override selections = None, this is equivalent to the Overall Merge Strategy = TIVO_ONLY or MG3_ONLY
> If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = TiVo or MG3, MG3 warns the user the fields are different. The user can then proceed with MG3 replacing the field with the override choice or cancel processing
> If the preferred field is empty, the field is removed from the metadata in any scenario


Are you asking me to confirm this is how it *does* work, or saying this is the way it *should* work?


----------



## dlfl

JohnnyRocket said:


> Been having an error:
> 
> "RPC error getting programId's"
> 
> for the last couple of days.
> 
> Has something changed in Metagenerator? Or is there something wrong with the Tivo server?


Not having that problem. Are your RPC configuration items properly entered?


----------



## Soapm

elprice7345 said:


> If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = None, MG3 uses the preferred option even if the fields are different and doesn't warn the user. If all the Override selections = None, this is equivalent to the Overall Merge Strategy = TIVO_ONLY or MG3_ONLY
> @dlfl - Let me know what you think.


Unless I'm reading this wrong, as you stated, you've suggested "preferred" be the same as "only". IOW, give me this or nothing which is what will happen if you use a specific field even if their different, or blank. I take the word prefer to mean I prefer one but will take the other if that's the only option available. To accept one regardless is saying I "only" want that one.

I could be reading your suggestion wrong but I'm the one who suggested the current changes so felt like your comments were sideways directed at me. But to explain my logic, there are times when the correct program id (or a program id) is already in the metafile from the Tivo. With your logic, if MG3 has a blank it will insert a blank. Prefer means I prefer what MG3 has, but if MG3 has nothing then let me keep what I have (the program id already in the file from the Tivo).

If you want the blank then you can change your settings to only so when MG3 has a blank it will insert it...


----------



## Sparky1234

dlfl said:


> Not having that problem. Are your RPC configuration items properly entered?


Terrific program. Please keep the tweaks coming.


----------



## elprice7345

dlfl said:


> Are you asking me to confirm this is how it does work, or saying this is the way it should work?





Soapm said:


> Unless I'm reading this wrong, as you stated, you've suggested "preferred" be the same as "only". IOW, give me this or nothing which is what will happen if you use a specific field even if their different, or blank. I take the word prefer to mean I prefer one but will take the other if that's the only option available. To accept one regardless is saying I "only" want that one.
> 
> I could be reading your suggestion wrong but I'm the one who suggested the current changes so felt like your comments were sideways directed at me. But to explain my logic, there are times when the correct program id (or a program id) is already in the metafile from the Tivo. With your logic, if MG3 has a blank it will insert a blank. Prefer means I prefer what MG3 has, but if MG3 has nothing then let me keep what I have (the program id already in the file from the Tivo).
> 
> If you want the blank then you can change your settings to only so when MG3 has a blank it will insert it...


@dlfl & @Soapm - I'm trying to reach a consensus on how the logic should work.

@Soapm - nothing sideways. I'll ask directly if I have a question. No passive aggressiveness from me! 

More thoughts: When we developed the original merge strategy logic the term "preferred" was mainly coined for the use case where a user wants most of their metadata from one source or the other, but would prefer a field or fields to come from the other source.

As described earlier, I prefer MG3 as a data source overall, so my metadata matches the TVDB (or TMDB). The TVDB is a much more broadly accepted and open source tool that allows metadata to interoperate with applications outside of the TiVo ecosystem. I prefer episode titles, numbers, descriptions, and OADs to match the TVDB, especially since TiVo/Rovi is often wrong.

The only metadata element I need to come from the TiVo ecosystem is the programId. With only programId, almost all the metadata for a show/movie is populated when pulled to a TiVo. It doesn't matter that the TVDB metadata is different than the TiVo metadata, because the metadata derived from the programId overrides almost all the metadata pulled to your TiVo. This is why my Overall Merge Strategy is PREFER_MG3 and the only item I override is programId/seriesId.

Currently, using PREFER_MG3 as my Overall Merge Strategy means any item I have selected not to override (NONE) will be replaced by the MG3 item without MG3 asking or warning me. I believe this is how it should be and why not overriding any items is the same as selecting an "ONLY" overall strategy.

Let's see if this version captures the logic we want:

If the Overall Merge Strategy is either TIVO_ONLY or MG3_ONLY, the override strategies aren't applicable
If the Overall Merge Strategy is either PREFER_TIVO or PREFER_MG3, there should be 5 override options: NONE, TIVO_ONLY, MG3_ONLY, PREFER_TIVO, and PREFER_MG3
If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = None, MG3 uses the preferred option even if the fields are different and doesn't warn the user. If all the Override selections = None, this is equivalent to the Overall Merge Strategy = TIVO_ONLY or MG3_ONLY
If Overall Merge Strategy = PREFER_TIVO or PREFER_MG3 and Override = TIVO_ONLY or MG3_ONLY, MG3 warns the user the fields are different. The user can then proceed with MG3 replacing the field with the override choice or cancel processing. If the preferred item is empty, the item is removed from the metadata.
If (Overall Merge Strategy = PREFER_MG3 and Override = PREFER_TIVO) or (Overall Merge Strategy = PREFER_TIVO and Override = PREFER_MG3), MG3 warns the user the fields are different. The user can then proceed with MG3 replacing the field with the override choice or cancel processing. If the preferred item is empty, the item is replaced by the non-preferred item. If the preferred item is populated and the non-preferred item is empty, the preferred item is left intact.


----------



## JohnnyRocket

dlfl said:


> Not having that problem. Are your RPC configuration items properly entered?


Yea,
Having a strange problem...

Metagenerator working for years with the TSN of my roamio... now it doesn't...

BUT

It does work if I use the TSN of my new bolt...

hmmmm???


----------



## dlfl

Try test distro Ver. 3.86T6 in attached zip
*EDIT:* Attachment removed -- superseded by 3.86T7
Ver. 3.86T6 (27 September 2018)
*Enhanced:* Merge results popup tells which programId was used if both mg3/RPC and TiVo values are available.
*Fixed:* If user cancels from merge results popup, the current file is NOT processed.

I think the merge strategy and reporting are what we want but please test and let me know any cases that don't work as desired.

Specifically:
The NONE override choice means there will be no *override*, NOT that there will be no *output* for the associated item. I'm having a hard time imagining a case where you want NO output for an item. However in the particular case of programId, you can achieve that by selecting MG3_ONLY for the override and then not getting the programId's in MG3.


----------



## dlfl

I've had some private conversation with @elprice7345 about the merge strategy. As part of this I attempted to describe what I believe the ver. 386T6 code does, and I think it's worthwhile to repeat that here:

==========================================================
I'm going to use MS as shorthand for "Merge Strategy", i.e., the seven overridable parameters.

Here is the way it works:

*If the Overall Merge Strategy is either MG3_ONLY or TIVO_ONLY*, the override strategies aren't applicable. All items (not just MS items) will be updated to the ONLY data set. Only items present in the ONLY set are output.
*
If the Overall Merge Strategy is either PREFER_TIVO or PREFER_MG3:*
If no override strategy is selected and the preferred item exists, it is written to the file. If the preferred item doesn't exist, the non-preferred item is used if it exists. If preferred and non-preferred are empty, nothing is written, i.e., the item is removed.

If (Overall Merge Strategy = PREFER_MG3 and Override = PREFER_TIVO) or (Overall Merge Strategy = PREFER_TIVO and Override = PREFER_MG3): If the preferred value (determined by the override choice) exists, it is used. If the preferred item doesn't exist, the item is replaced by the non-preferred item, if it exists -- otherwise the item is not output (or "is removed" if you prefer that terminology).

If (Overall Merge Strategy = PREFER_MG3 and Override = TIVO_ONLY) or (Overall Merge Strategy = PREFER_TIVO and Override = MG3_ONLY) the ONLY item is output if it exists. Otherwise the item isn't output (or "is removed").

Items other than MS items are handled as if their merge strategy was the corresponding ONLY mode, i.e., non-preferred items do not replace preferred items that don't exist).​
*Regarding the merge report popup, which always offers cancel, continue or stop-showing-popup:*
For all MS items:
Missing items are listed in the merge report popup.
Preferred items that were replaced by non-preferred items are listed in the merge report

For programId only:
If both RPC and TiVo values are available they are listed and which one was used is noted.

For items other than MS items:
No messages are given​===============================================

This differs in some aspects from the behavior described by @elprice7345 in post #186. At present it reflects the way I think T6 works (sometimes code doesn't behave the way I intend it to, and testing all possible combinations is too exhaustive). And at present it reflects the way I think the merge *should* work, although I welcome further discussion on that.


----------



## elprice7345

@dlfl - Thanks for providing the merge strategy logic!

Here are some test scenarios I had problems and/or questions with:

*Scenario:*

Overall MS = TIVO_ONLY
No TiVo metadata file exists
MG3 crashes with the following error:



Code:


************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'G:\Video\Ed\1\Welcome Back, Kotter-S01E05-Election, The.mpg.mg3_txt'.
File name: 'G:\Video\Ed\1\Welcome Back, Kotter-S01E05-Election, The.mpg.mg3_txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Move(String sourceFileName, String destFileName)
   at MetaPrinting.MetaPrinter.WriteTVShow(series aSeries, episode theEpisode, enumSaveArtMode artMode, Boolean saveImage)
   at TVSearchForm.frmShowTVMG.btnSave_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

*Scenario:*

Overall MS = TIVO_ONLY
TiVo metadata file exists
MG3 DELETES the metadata file and crashes with the following error:



Code:


************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'G:\Video\Ed\1\Lodge 49-S01E05-Paradise.ts.mg3_txt'.
File name: 'G:\Video\Ed\1\Lodge 49-S01E05-Paradise.ts.mg3_txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Move(String sourceFileName, String destFileName)
   at MetaPrinting.MetaPrinter.FinishWriteTVShow(String videoPath, series aSeries, episode theEpisode, enumSaveArtMode artMode)
   at TVSearchForm.TVSearchForm.menuItem1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.MenuItem.MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Command.DispatchID(Int32 id)
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

*Scenario:*

TiVo programId is populated
RPC programId is populated
Overall MS = PREFER_MG3; no overrides
1st dialog box is much improved:



Code:


programIds differ: RPC=EPxxx-xxx vs TiVo=EPyyy-
yyy
--- RPC value will be used


The message is good, but can you justify the programIds so they are directly above each other? It's easier to compare the values. Something like:



Code:


programIds differ: RPC= EPxxx-xxx vs
                   TiVo=EPyyy-yyy
--- RPC value will be used


MG3 correctly leaves the existing TiVo seriesId and programId
*Scenario:*

TiVo programId is populated
RPC programId is empty
Overall MS = PREFER_MG3; no overrides
1st dialog box says:



Code:


programId (MG3 --> TiVo)
seriesId (MG3 --> TiVo)


Click Continue
MG3 correctly leaves the existing TiVo seriesId and programId
The message presented doesn't tell me much. Could you change the message to something more informative like:



Code:


programIds differ: RPC: Empty vs TiVo: EPyyy
Continuing to process will leave the TiVo seriesId and programId intact


It makes it clear which programId is which and reminds the user which merge strategy they've selected.


----------



## dlfl

Test distro Ver. 3.86T7 in attached zip [*EDIT:* Removed - superseded]addresses everything discussed in previous post #190. Thanks for the testing. The code changes to prevent the current file being processed when processing was canceled were more complex than you may have imagined. That led to the two crash bugs reported. There could be more.


----------



## Sparky1234

dlfl said:


> Test distro Ver. 3.86T7 in attached zip addresses everything discussed in previous post #190. Thanks for the testing. The code changes to prevent the current file being processed when processing was canceled were more complex than you may have imagined. That led to the two crash bugs reported. There could be more.


No crashed for me on last version.


----------



## Sparky1234

dlfl said:


> Test distro Ver. 3.86T7 in attached zip addresses everything discussed in previous post #190. Thanks for the testing. The code changes to prevent the current file being processed when processing was canceled were more complex than you may have imagined. That led to the two crash bugs reported. There could be more.


I want to add jpg posters to movies or thumbnails to tv shows. I download text files and jpg files with MetaGenerator but the jpg usually does not show up. Show info from the text file works and is consistent. Do I need to edit the mkv files to add the jpg file?


----------



## dlfl

Sparky1234 said:


> I want to add jpg posters to movies or thumbnails to tv shows. I download text files and jpg files with MetaGenerator but the jpg usually does not show up. Show info from the text file works and is consistent. Do I need to edit the mkv files to add the jpg file?


Take a look at the discussion starting here:
pyTiVo, Metadata, and Metagenerator375
If I understand your question, this should answer it.

MG3 can embed artwork in output .mp4 and .wtv files but not in .mkv files. I don't believe embedded images show up when you pull files to a TiVo with pyTivo or pyTivoDesktop however.


----------



## Sparky1234

dlfl said:


> Take a look at the discussion starting here:
> pyTiVo, Metadata, and Metagenerator375
> If I understand your question, this should answer it.
> 
> MG3 can embed artwork in output .mp4 and .wtv files but not in .mkv files. I don't believe embedded images show up when you pull files to a TiVo with pyTivo or pyTivoDesktop however.


Thanks for the link and your outstanding work on MG3.

Some mkv and mp4 files display images on TiVo when downloaded with pytivo. Not sure of the correlation though.


----------



## Sparky1234

dlfl said:


> Take a look at the discussion starting here:
> pyTiVo, Metadata, and Metagenerator375
> If I understand your question, this should answer it.
> 
> MG3 can embed artwork in output .mp4 and .wtv files but not in .mkv files. I don't believe embedded images show up when you pull files to a TiVo with pyTivo or pyTivoDesktop however.


I see that programId controls the images and programIds are controlled by TiVo. Is there any way to search for TiVo programIds? And programId only apply to movies if I understand it correctly?


----------



## dlfl

Sparky1234 said:


> I see that programId controls the images and programIds are controlled by TiVo. Is there any way to search for TiVo programIds? And programId only apply to movies if I understand it correctly?


programId's apply to both TV shows and movies, and MG3 includes (when properly configured) the ability to search for both. To support this, you need either Python Ver. 2.7 installed or to download rpcSearch126.exe, link in first post. And you need to go into the Settings tab, click the "Mind RPC" button and enter your TiVo credentials as described here: Metagenerator 3 -- Support & Downloads. Then you will see programId buttons/check boxes during your TV Show and Movie searches. RPC searches can take a while and sometimes fail.

I wrote a blurb on programId's that used to be included in the distribution zip. Here is a link to download it:
https://pytivo.sourceforge.io/forum/download.php?id=925
This doc describes only the TV show case. Movie searches are much simpler.


----------



## Sparky1234

dlfl said:


> programId's apply to both TV shows and movies, and MG3 includes (when properly configured) the ability to search for both. To support this, you need either Python Ver. 2.7 installed or to download rpcSearch126.exe, link in first post. And you need to go into the Settings tab, click the "Mind RPC" button and enter your TiVo credentials as described here: Metagenerator 3 -- Support & Downloads. Then you will see programId buttons/check boxes during your TV Show and Movie searches. RPC searches can take a while and sometimes fail.
> 
> I wrote a blurb on programId's that used to be included in the distribution zip. Here is a link to download it:
> https://pytivo.sourceforge.io/forum/download.php?id=925
> This doc describes only the TV show case. Movie searches are much simpler.


Interesting. I tried Python ver 2.7 with no success then went to rpcSearch126. rpcSearch126 is configured correctly but I only get programId for ~80% of movie searches, never for TV.


----------



## dlfl

Sparky1234 said:


> Interesting. I tried Python ver 2.7 with no success then went to rpcSearch126. rpcSearch126 is configured correctly but I only get programId for ~80% of movie searches, never for TV.


Mind RPC configuration isn't just for using rpcSearch126. It's also necessary when using installed Python and in that case you have to set the path to python.exe.

You'd have to be more specific about what you're doing and what error messages you get for the TV show searches in order for anyone to help.

Some movie titles just don't succeed programId search. Can you give examples of failing titles.


----------



## Sparky1234

dlfl said:


> Mind RPC configuration isn't just for using rpcSearch126. It's also necessary when using installed Python and in that case you have to set the path to python.exe.
> 
> You'd have to be more specific about what you're doing and what error messages you get for the TV show searches in order for anyone to help.
> 
> Some movie titles just don't succeed programId search. Can you give examples of failing titles.


I'll start a list and get back to you. Thanks for the extra help.


----------



## Sparky1234

dlfl said:


> Mind RPC configuration isn't just for using rpcSearch126. It's also necessary when using installed Python and in that case you have to set the path to python.exe.
> 
> You'd have to be more specific about what you're doing and what error messages you get for the TV show searches in order for anyone to help.
> 
> Some movie titles just don't succeed programId search. Can you give examples of failing titles.


Here are a few:
A Charlie Brown Christmas 1965
Bad Santa 2003
Frosty Returns 1992
Frosty The Snowman 1969
How the Grinch Stole Christmas 1966
It's Christmastime Again Charlie Brown 1992
Rudolph the Red-Nosed Reindeer 1964
Rudolph the Red-Nosed Reindeer and the Island of Misfit Toys 2001
Shameless US


----------



## dlfl

Sparky1234 said:


> Here are a few:
> A Charlie Brown Christmas 1965
> Bad Santa 2003
> Frosty Returns 1992
> Frosty The Snowman 1969
> How the Grinch Stole Christmas 1966
> It's Christmastime Again Charlie Brown 1992
> Rudolph the Red-Nosed Reindeer 1964
> Rudolph the Red-Nosed Reindeer and the Island of Misfit Toys 2001
> Shameless US


For most of these RPC search fails with "RPC ERROR: RPC returned nothing". AFAIK this just means the TiVo database being searched doesn't have that title. If you know the title that TiVo recognizes (i.e., different from the one that TheMovieDB uses) you can enter it in the Movie Title box on the "View Movie Metadata Details" form and click the Update button, which will repeat the RPC programId search with the updated title.

Exceptions were:
programId was found for Bad Santa 2003 : MV0027286808-0027286584
Couldn't find any TheMovieDB result for "Shameless US".

Are your TV results working now?


----------



## Sparky1234

Searches are working better this morning.

Can't find anything on Kidding.


----------



## Sparky1234

dlfl said:


> For most of these RPC search fails with "RPC ERROR: RPC returned nothing". AFAIK this just means the TiVo database being searched doesn't have that title. If you know the title that TiVo recognizes (i.e., different from the one that TheMovieDB uses) you can enter it in the Movie Title box on the "View Movie Metadata Details" form and click the Update button, which will repeat the RPC programId search with the updated title.
> 
> Exceptions were:
> programId was found for Bad Santa 2003 : MV0027286808-0027286584
> Couldn't find any TheMovieDB result for "Shameless US".
> 
> Are your TV results working now?


Can't find Movies: "RPC ERROR: RPC returned nothing" Tried multiple versions in Movie Title box with no success.

Star Wars Episode I - The Phantom Menace 1999
Star Wars Episode II - Attack Of The Clones 2002
Star Wars Episode III - Revenge of the Sith 2005


----------



## HerronScott

Sparky1234 said:


> Can't find Movies: "RPC ERROR: RPC returned nothing" Tried multiple versions in Movie Title box with no success.
> 
> Star Wars Episode I - The Phantom Menace 1999
> Star Wars Episode II - Attack Of The Clones 2002
> Star Wars Episode III - Revenge of the Sith 2005


I just searched for Star Wars and got the following:










Scott


----------



## dlfl

Sparky1234 said:


> Searches are working better this morning.
> 
> Can't find anything on Kidding.


For clarity when posting search performance issues, please specify which search(es):
theTVDB
movieDB
RPC (programId)


----------



## HerronScott

dlfl said:


> For clarity when posting search performance issues, please specify which search(es):
> theTVDB
> movieDB
> RPC (programId)


Ah I didn't get where he was having the issue but you are right, I get the same RPC error once I selected one of the Star Wars movies listed and it tried to find the programId.

Scott


----------



## dlfl

As previously noted: Failure of an RPC search can be caused by either of two things:
1. The TiVo database just doesn't have the title or episode. Even search on the TiVo itself can fail to find an episode that shows in the program guide -- apparently two unsynchronized databases are involved.
2. The TVDB or MovieDB title doesn't match the title in the TiVo database. MG3 provides title override options for both series and movie RPC searches --- IF you know, or can guess, the TiVo title.


----------



## dlfl

Sparky1234 said:


> Can't find Movies: "RPC ERROR: RPC returned nothing" Tried multiple versions in Movie Title box with no success.
> 
> Star Wars Episode I - The Phantom Menace 1999
> Star Wars Episode II - Attack Of The Clones 2002
> Star Wars Episode III - Revenge of the Sith 2005


I don't have handy access to my Windows PC right now, but when I search on my TiVo I find, for example:
Star Wars Episode I: The Phantom Menace(1999)

Note the difference between colon,space (TiVo) and space,dash,space (theTVDB). This suggests a title override for RPC search, and probably both with and w/o the year.


----------



## Sparky1234

IMdb, movieDB AND RPC all come back with RPC error. I have tried all different search variants for Star Wars Movies I, II, III. Just want check my work to endure its not me. No problem here if programID does not exist but these movies are very popular and should have them.


----------



## Sparky1234

dlfl said:


> I don't have handy access to my Windows PC right now, but when I search on my TiVo I find, for example:
> Star Wars Episode I: The Phantom Menace(1999)
> 
> Note the difference between colon,space (TiVo) and space,dash,space (theTVDB). This suggests a title override for RPC search, and probably both with and w/o the year.


From kmttg RPC data from streaming:
Star Wars Episode I - The Phantom Menace 1999
programId : MV0004924394-0004924395
seriesId : MV0004924394

Anyone else have II or III?


----------



## moyekj

In kmttg if you search for "star wars episode" (free and paid streaming options enabled) they all show up for me. The ones you are missing:

Star Wars Episode II: Attack of the Clones
programId : MV0005098806-0005098807
seriesId : MV0005098806

Star Wars Episode III: Revenge of the Sith
programId : MV0046624767-0046624204
seriesId : MV0046624767


----------



## dlfl

MG3 will find the same three programId's if you supply the "correct" (TiVo versions) of the titles as overrides:
Star Wars Episode I: The Phantom Menace
Star Wars Episode II: Attack of the Clones
Star Wars Episode III: Revenge of the Sith

The differences in the theMovieDB titles were:
1. the additional colon after "Star Wars"
2. space,dash,space instead of colon,space after the episode number.

As noted in my post #209 you can also get the "correct" (TiVo) titles by searching on the TiVo.


----------



## Sparky1234

moyekj said:


> In kmttg if you search for "star wars episode" (free and paid streaming options enabled) they all show up for me. The ones you are missing:
> 
> Star Wars Episode II: Attack of the Clones
> programId : MV0005098806-0005098807
> seriesId : MV0005098806
> 
> Star Wars Episode III: Revenge of the Sith
> programId : MV0046624767-0046624204
> seriesId : MV0046624767


Can you provide:

Star Wars Episode I - The Phantom Menace 1999

My programID is wrong.


----------



## moyekj

Sparky1234 said:


> Can you provide:
> 
> Star Wars Episode I - The Phantom Menace 1999
> 
> My programID is wrong.


Looks correct to me what you posted:
programId : MV0004924394-0004924395
seriesId : MV0004924394


----------



## dlfl

moyekj said:


> Looks correct to me what you posted:
> programId : MV0004924394-0004924395
> seriesId : MV0004924394


And FWIW MG3 finds the same thing (with the proper override title).


----------



## Soapm

Sparky1234 said:


> From kmttg RPC data from streaming:
> Star Wars Episode I - The Phantom Menace 1999
> programId : MV0004924394-0004924395
> seriesId : MV0004924394
> 
> Anyone else have II or III?


How do you search with KMTTG and pull this data?

Is KMTTG the only means we have of figuring out exactly how Tivo has the title listed?

dlfl... How did you find those titles in post 213?


----------



## dlfl

Soapm said:


> &#8230;&#8230;&#8230;...
> dlfl... How did you find those titles in post 213?


Post #212 (i.e., @moyekj searched using kmttg) and/or searching on my TiVo.


----------



## elprice7345

Sorry, I've been busy with a home remodeling project for the last week. 


Soapm said:


> How do you search with KMTTG and pull this data?
> 
> Is KMTTG the only means we have of figuring out exactly how Tivo has the title listed?
> 
> dlfl... How did you find those titles in post 213?


Assuming you have kmttg installed, it is a much better tool to search for shows and movies.

kmttg search is much more powerful, and you can do it from your computer. You don't have to be in front of your TiVo.

The other way is to use the TiVo find function either directly on your TiVo or using the TiVo app on your mobile device.

I've found kmttg to be much more effective, but sometimes I do need to fall back to the TiVo app.

@dlfl - using MG3 3.86T7, searching for movies, each movie title is duplicated.

@Sparky1234 - ProgramIds for shows in question:
"A Charlie Brown Christmas" 1965 - EP0356287378-0357067153

@dlfl - kmttg finds "A Charlie Brown Christmas", but MG3 doesn't and doesn't give me a warning that it didn't find the programId. Could it be because TiVo considers it a special and not a move or a TV series?

Bad Santa 2003 - MV0027286808-0027286584
Frosty Returns 1992 - EP0000103790-0000103791 - @dlfl - same as Charlie Brown Christmas
Frosty The Snowman 1969 - EP0000103788-0000103789 - @dlfl - same as Charlie Brown Christmas
How the Grinch Stole Christmas 1966 - EP0349174572-0349297697 - TiVo has the title as "Dr. Seuss - How the Grinch Stole Christmas", but MG3 couldn't find it
It's Christmastime Again Charlie Brown 1992 - MV0099482391-0260133231 - kmttg finds, MG3 doesn't
Rudolph the Red-Nosed Reindeer 1964 - MV0109605521-0270360251 - kmttg finds, MG3 doesn't
Rudolph the Red-Nosed Reindeer and the Island of Misfit Toys 2001 - I can't find this with kmttg or MG3
Shameless US - this is a TV series and is already in the distributed knownSeriesIds.txt. You shouldn't need to find it.


----------



## elprice7345

*Testing MG3 v3.86T7

Still get this error:*

Overall MS = TIVO_ONLY
No TiVo metadata file exists
MG3 crashes with the following error:



Code:


************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'G:\Video\Ed\1\Lodge 49-S01E02-Moments of Truth in Service.mpg.mg3_txt'.
File name: 'G:\Video\Ed\1\Lodge 49-S01E02-Moments of Truth in Service.mpg.mg3_txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Move(String sourceFileName, String destFileName)
   at MetaPrinting.MetaPrinter.WriteTVShow(series aSeries, episode theEpisode, enumSaveArtMode artMode, Boolean saveImage)
   at TVSearchForm.frmShowTVMG.btnSave_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

*Still get this error:*

Overall MS = TIVO_ONLY
TiVo metadata file exists
MG3 DELETES the metadata file and crashes with the following error:



Code:


************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'G:\Video\Ed\1\Lodge 49-S01E03-Corpus.mpg.mg3_txt'.
File name: 'G:\Video\Ed\1\Lodge 49-S01E03-Corpus.mpg.mg3_txt'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Move(String sourceFileName, String destFileName)
   at MetaPrinting.MetaPrinter.WriteTVShow(series aSeries, episode theEpisode, enumSaveArtMode artMode, Boolean saveImage)
   at TVSearchForm.frmShowTVMG.btnSave_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

*
Scenario:*

TiVo programId is populated
RPC programId is populated
Overall MS = PREFER_MG3; no overrides
Message is great! Thanks!

*Scenario:*

TiVo programId is populated
RPC programId is empty
Overall MS = PREFER_MG3; no overrides
Message is great! Thanks!

*Scenario:*

TiVo programId is empty
RPC programId is populated
Overall MS = PREFER_MG3; programId override = PREFER_TIVO
1st dialog box says:



Code:


programId (TiVo --> MG3)

Can you make the message more explanatory?

*Scenario:*

TiVo programId is empty
RPC programId is populated
Overall MS = PREFER_MG3; programId override = TIVO_ONLY
1st dialog box says:



Code:


Missing items:
programId

Can you make the message more explanatory?


----------



## dlfl

@elprice7345 Please give examples in which movies are duplicated -- I'm not seeing that.


----------



## dlfl

Test distro 3.86T8 in attached zip. *EDIT:* Removed, superseded.
Ver. 3.86T8 (8 October 2018)
Fixed: Additional crashes related to merge strategy when saving individual series episode files.
Fixed: Sometimes no RPC error message when movie programId search failed.
Enhanced: Improved merge report messages.

@elprice7345 :
Thanks again for the testing.
I think a large fraction, although not all, of the movie RPC failures you noted are related to specials. I will ponder how to improve.


----------



## Sparky1234

dlfl said:


> Test distro 3.86T8 in attached zip.
> Ver. 3.86T8 (8 October 2018)
> Fixed: Additional crashes related to merge strategy when saving individual series episode files.
> Fixed: Sometimes no RPC error message when movie programId search failed.
> Enhanced: Improved merge report messages.
> 
> @elprice7345 :
> Thanks again for the testing.
> I think a large fraction, although not all, of the movie RPC failures you noted are related to specials. I will ponder how to improve.


Outstanding support! Thanks.


----------



## Sparky1234

moyekj said:


> In kmttg if you search for "star wars episode" (free and paid streaming options enabled) they all show up for me. The ones you are missing:
> 
> Star Wars Episode II: Attack of the Clones
> programId : MV0005098806-0005098807
> seriesId : MV0005098806
> 
> Star Wars Episode III: Revenge of the Sith
> programId : MV0046624767-0046624204
> seriesId : MV0046624767


Thanks!


----------



## dlfl

Follow up on movie programId issues:



elprice7345 said:


> &#8230;&#8230;.
> "A Charlie Brown Christmas" 1965 - EP0356287378-0357067153
> &#8230;&#8230;. kmttg finds "A Charlie Brown Christmas", but MG3 doesn't and doesn't give me a warning that it didn't find the programId. &#8230;..


MG3 finds a different programId: EP0356261916-0356757085
I'm not sure if there is a reason to consider one of them better than the other.


elprice7345 said:


> &#8230;&#8230;.Bad Santa 2003 - MV0027286808-0027286584
> Frosty Returns 1992 - EP0000103790-0000103791 - @dlfl - same as Charlie Brown Christmas
> Frosty The Snowman 1969 - EP0000103788-0000103789 - @dlfl - same as Charlie Brown Christmas.


MG3 T8 finds these OK


elprice7345 said:


> &#8230;&#8230;.How the Grinch Stole Christmas 1966 - EP0349174572-0349297697 - TiVo has the title as "Dr. Seuss - How the Grinch Stole Christmas", but MG3 couldn't find it
> It's Christmastime Again Charlie Brown 1992 - MV0099482391-0260133231 - kmttg finds, MG3 doesn't
> Rudolph the Red-Nosed Reindeer 1964 - MV0109605521-0270360251 - kmttg finds, MG3 doesn't.


MG3 still can't find these. Having trouble figuring a way to improve it.


elprice7345 said:


> &#8230;&#8230;.Rudolph the Red-Nosed Reindeer and the Island of Misfit Toys 2001 - I can't find this with kmttg or MG3
> .


MG3 finds this on TheMovieDB with the title:
Rudolph the Red-Nosed Reindeer & the Island of Misfit Toys
Using an override title with '&' changed to 'and', MG3 finds:
programId = MV0348905881-0349502866

So overall T8 is improved but not perfect. In one case it actually did better than what was reported for kmttg.

Note: I see a T8 mod produces lower case 'mv' instead of "MV' in some cases for movie programId's. Will correct in next version.


----------



## elprice7345

dlfl said:


> @elprice7345 Please give examples in which movies are duplicated -- I'm not seeing that.


A reboot fixed my duplicate issues.

I'll test T8 tomorrow.

Thanks @dlfl!


----------



## Soapm

Those shows show up under, "Rankin-Bass Holiday Classics" in MG3 shows. I wonder if that's why there's so much trouble locating them individually, they show up in a series of 28 shows.


----------



## Sparky1234

dlfl said:


> Follow up on movie programId issues:
> 
> MG3 finds a different programId: EP0356261916-0356757085
> I'm not sure if there is a reason to consider one of them better than the other.
> 
> MG3 T8 finds these OK
> 
> MG3 still can't find these. Having trouble figuring a way to improve it.
> 
> MG3 finds this on TheMovieDB with the title:
> Rudolph the Red-Nosed Reindeer & the Island of Misfit Toys
> Using an override title with '&' changed to 'and', MG3 finds:
> programId = MV0348905881-0349502866
> 
> So overall T8 is improved but not perfect. In one case it actually did better than what was reported for kmttg.
> 
> Note: I see a T8 mod produces lower case 'mv' instead of "MV' in some cases for movie programId's. Will correct in next version.


I'm all caught up now thanks. Didn't realize most were using kmttg to find or augment the missing data. A weekend of adding programIDs to movies has improved my proficiency. Any data on the animated short Lou? Missing one movie too that I will post later.


----------



## Sparky1234

Sparky1234 said:


> I'm all caught up now thanks. Didn't realize most were using kmttg to find or augment the missing data. A weekend of adding programIDs to movies has improved my proficiency. Any data on the animated short Lou? Missing one movie too that I will post later.


Any data on the animated short Lou?


----------



## elprice7345

*Testing MG3 v3.86T8*

*Scenario fixed:*

Overall MS = TIVO_ONLY
No TiVo metadata file exists
MG3 was crashing and now warns the user the TiVo metadata file is missing
*Scenario fixed:*

Overall MS = TIVO_ONLY
TiVo metadata file exists
MG3 correctly processes the files
*Scenario:*

TiVo programId is empty
RPC programId is populated
Overall MS = PREFER_MG3; programId override = PREFER_TIVO
Message is great!
*Scenario:*

TiVo programId is empty
RPC programId is populated
Overall MS = PREFER_MG3; programId override = TIVO_ONLY
Message is great!
*Movie searches - confirmed MG3 now finds the following:*

A Charlie Brown Christmas
Frosty Returns
Frosty The Snowman
Rudolph the Red-Nosed Reindeer
Rudolph the Red-Nosed Reindeer and the Island of Misfit Toys
*MG3 still doesn't find the following:*

How the Grinch Stole Christmas
It's Christmastime Again Charlie Brown
@dlfl - I'm done testing this version. Feel free to publish when you wish.

I've attached an updated knownSeriesIds.txt file for distribution.


----------



## dlfl

Thanks for the testing @elprice7345

Test Distro Ver. 3.86T10 is in the attached zip.
Ver. 3.86T10 (14 October 2018)
Enhanced: Improved Movie RPC searches -- requires rpcSearch127.py or rpcSearch127.exe.
Fixed: RPC search error messages when python files missing were sometimes nondescript.
Also: Included updated distroSeriesIds.txt file courtesy of @elprice7345

Note that the python file for RPC search is upgraded to rpcSearch127 (.py or .exe). The .exe version may be found here:
rpcSearch127.zip

This version finds programId for It's Christmas Time Again Charlie Brown. Still can't find How the Grinch Stole Christmas.

If a Movie RPC search finds programId's for the title but for years not the same as the movieDB year, it picks the result with the closest year and gives an RPC warning at the top of the form. Examples of this are Wonder Woman, Hugo and Rudolph the Red Nosed Reindeer (which requires a title override, and notice the RPC year differs by only one year). If RPC results match the title but no year is provided, the warning indicates that. Frosty Returns (1992) is an example.

Please test the rpcSearch127.exe download.


----------



## Sparky1234

dlfl said:


> Thanks for the testing @elprice7345
> 
> Test Distro Ver. 3.86T10 is in the attached zip.
> Ver. 3.86T10 (14 October 2018)
> Enhanced: Improved Movie RPC searches -- requires rpcSearch127.py or rpcSearch127.exe.
> Fixed: RPC search error messages when python files missing were sometimes nondescript.
> Also: Included updated distroSeriesIds.txt file courtesy of @elprice7345
> 
> Note that the python file for RPC search is upgraded to rpcSearch127 (.py or .exe). The .exe version may be found here:
> rpcSearch127.zip
> 
> This version finds programId for It's Christmas Time Again Charlie Brown. Still can't find How the Grinch Stole Christmas.
> 
> If a Movie RPC search finds programId's for the title but for years not the same as the movieDB year, it picks the result with the closest year and gives an RPC warning at the top of the form. Examples of this are Wonder Woman, Hugo and Rudolph the Red Nosed Reindeer (which requires a title override, and notice the RPC year differs by only one year). If RPC results match the title but no year is provided, the warning indicates that. Frosty Returns (1992) is an example.
> 
> Please test the rpcSearch127.exe download.


Great update. Looking forward to trying it.

Any info on animated short Lou?


----------



## dlfl

Sparky1234 said:


> Great update. Looking forward to trying it.
> 
> Any info on animated short Lou?


movieDB search for Lou finds a multitude. Which one?


----------



## Sparky1234

This one:



dlfl said:


> movieDB search for Lou finds a multitude. Which one?


Lou (2017 film) - Wikipedia


----------



## elprice7345

*Testing MG3 v3.86T10*
All my testing worked on T10.

I especially like the mods to the movie search regarding the movie year. 

MG3 gives the user the information and they can adjust their search if necessary.

Feel free to publish when you're comfortable.

Thanks for all your work @dlfl!



Sparky1234 said:


> This one:
> 
> Lou (2017 film) - Wikipedia


MG3 T10 finds the programId for this movie: MV0371343263-0371343264


----------



## elprice7345

Does MG3 automatically place leading articles after a comma at the end of episode titles or is there a switch to control this I've forgotten about?

Example: 
Series - Narcos
Episode Title: The Kingpin Strategy
MG3 names as: Narcos-S03E01-Kingpin Strategy, The.mkv

instead of Narcos-S03E01-The Kingpin Strategy.mkv

Most of the time this isn't a problem and is what I prefer, but sometimes I have to burn subtitles into episodes and ffmpeg doesn't like commas in file names.

If it doesn't exist, could it be added relatively easily?


----------



## dlfl

Test distro Ver. 3.86T11 in attached zip.
Ver. 3.86T11 (15 October 2018)
*Enhanced:* Added checkbox in Output settings to control whether articles (the, an) are moved to end of titles.

On first startup it will default to moving articles to end, to maintain compatibility with previous versions. This applies to both TV and movie renaming.


----------



## Sparky1234

elprice7345 said:


> *Testing MG3 v3.86T10*
> All my testing worked on T10.
> 
> I especially like the mods to the movie search regarding the movie year.
> 
> MG3 gives the user the information and they can adjust their search if necessary.
> 
> Feel free to publish when you're comfortable.
> 
> Thanks for all your work @dlfl!
> 
> MG3 T10 finds the programId for this movie: MV0371343263-0371343264


Thanks. Don't know why I'm not finding these..... Did you add Lou in the 10 update?


----------



## dlfl

Sparky1234 said:


> Thanks. Don't know why I'm not finding these..... Did you add Lou in the 10 update?


Apparently the Lou you want is the 2017 version. MovieDB returns lots of Lou's and I don't know if I tried the 2017 one before -- since I didn't know which one you wanted. So I don't know if a change in T10 may have affected Lou results. All that really counts is: Do you find programId for 2017 Lou with T10 or T11? BTW the concept of "adding Lou" doesn't really apply.


----------



## Sparky1234

dlfl said:


> Apparently the Lou you want is the 2017 version. MovieDB returns lots of Lou's and I don't know if I tried the 2017 one before -- since I didn't know which one you wanted. So I don't know if a change in T10 may have affected Lou results. All that really counts is: Do you find programId for 2017 Lou with T10 or T11? BTW the concept of "adding Lou" doesn't really apply.


I'll try 11 later as see what I get.


----------



## elprice7345

Sparky1234 said:


> I'll try 11 later as see what I get.


@Sparky1234 - You should check to see if you have all the streaming services enabled for the TiVo you are querying against (the TSN you entered in MG3 settings), for example HBO, Netflix, etc.

I know having these services enabled on your TiVo significantly enlarges the search database in kmttg, even if you don't subscribe to the service.

@dlfl - Do you know if it makes a difference for MG3?

BTW - kmttg finds "Lou (2017)" on Vudu and Xfinity VOD for me.


----------



## Sparky1234

elprice7345 said:


> @Sparky1234 - You should check to see if you have all the streaming services enabled for the TiVo you are querying against (the TSN you entered in MG3 settings), for example HBO, Netflix, etc.
> 
> I know having these services enabled on your TiVo significantly enlarges the search database in kmttg, even if you don't subscribe to the service.
> 
> @dlfl - Do you know if it makes a difference for MG3?
> 
> BTW - kmttg finds "Lou (2017)" on Vudu and Xfinity VOD for me.


Lou programID was there in version 11. I did not enable all streaming services I just installed ver 11 and it was there. Good to know that enabling all streaming services on the TSN TiVo enlarges the search.


----------



## Sparky1234

Anyone have:

Prep and Landing 2009
Prep and Landing 2010 Stocking Stuffer Operation Santa
Prep and Landing 2011 Naughty Vs Nice

Not found in any of my searches.


----------



## dlfl

elprice7345 said:


> ........
> I know having these services enabled on your TiVo significantly enlarges the search database in kmttg, even if you don't subscribe to the service.
> 
> @dlfl - Do you know if it makes a difference for MG3?
> ..........


My guess is yes but I don't know for sure. RPC is a mysterious black box to me. Some simple experiments (e.g., with Lou 2017) should tell but it's not convenient for me to do those at the moment. Of course the experments might not be that simple after all. Maybe once you've looked up Lou 2017 it goes in some cache and will still pop up even if you disable Vudu and Xfinity VOD.


----------



## elprice7345

*Testing MG3 v3.86T11*

I've tested T11 and all is working. Thanks for the quick turnaround!

Now that MG3 has the option to leave articles at the front of the episode title or move them to the end, I suppose it doesn't matter, but can anyone remember why we decided to default to moving the articles to the end?

I can't think of any advantage for episode titles. MG3 leaves the articles at the front of the series title.


----------



## elprice7345

Sparky1234 said:


> Anyone have:
> Prep and Landing 2009
> Prep and Landing 2010 Stocking Stuffer Operation Santa
> Prep and Landing 2011 Naughty Vs Nice
> 
> Not found in any of my searches.


Kmttg finds:

"Prep & Landing" 2009 - EP0112597841-0273343331
"Prep and Landing: Operation Secret Santa" - MV0096082841-0256429391
MG3 and Kmttg find:

 "Prep & Landing: Naughty vs. Nice" - EP0353206631-0359477183


----------



## dlfl

elprice7345 said:


> *Testing MG3 v3.86T11*
> 
> I've tested T11 and all is working. Thanks for the quick turnaround!
> 
> Now that MG3 has the option to leave articles at the front of the episode title or move them to the end, I suppose it doesn't matter, but can anyone remember why we decided to default to moving the articles to the end?
> 
> I can't think of any advantage for episode titles. MG3 leaves the articles at the front of the series title.


I suspect it had to do with alphabetical sorting (not wanting the, an, a, etc. to dominate sorting order). I can assure you there was a reason because coding was simpler without doing that. However I just spent 10 minutes searching the old pyTivo forum thread and couldn't find anything about it.

EDIT: Found it. Was done at the request of @philhu in August 2011. See the pyTivo MG3 thread circa this post: pyTivo Discussion Forum :: View topic - MetaGenerator Version 3


----------



## dlfl

elprice7345 said:


> Kmttg finds:
> 
> "Prep & Landing" 2009 - EP0112597841-0273343331
> "Prep and Landing: Operation Secret Santa" - MV0096082841-0256429391
> MG3 and Kmttg find:
> 
> "Prep & Landing: Naughty vs. Nice" - EP0353206631-0359477183


Hmm, I couldn't find "Prep & Landing: Naughty vs. Nice" with MG3. Did you use an override title? I tried overriding with '&' changed to 'and'. This may be a case that depends on what streaming services are enabled. (?)


----------



## elprice7345

dlfl said:


> I suspect it had to do with alphabetical sorting (not wanting the, an, a, etc. to dominate sorting order). I can assure you there was a reason because coding was simpler without doing that. However I just spent 10 minutes searching the old pyTivo forum thread and couldn't find anything about it.
> 
> EDIT: Found it. Was done at the request of @philhu in August 2011. See the pyTivo MG3 thread circa this post: pyTivo Discussion Forum :: View topic - MetaGenerator Version 3


I figured. That was before my time and although I can't think of a use case, it's already there and not hurting anything. Maybe someone else is using it. I would have voted for the selectable option. 

It's all good! Thanks for making it selectable!


dlfl said:


> Hmm, I couldn't find "Prep & Landing: Naughty vs. Nice" with MG3. Did you use an override title? I tried overriding with '&' changed to 'and'. This may be a case that depends on what streaming services are enabled. (?)


MG3 finds it on my system with no title overrides. kmttg says I can watch it on Xfinity VOD. Are you on Xfinity?


----------



## Sparky1234

elprice7345 said:


> I figured. That was before my time and although I can't think of a use case, it's already there and not hurting anything. Maybe someone else is using it. I would have voted for the selectable option.
> 
> It's all good! Thanks for making it selectable!
> 
> MG3 finds it on my system with no title overrides. kmttg says I can watch it on Xfinity VOD. Are you on Xfinity?





elprice7345 said:


> Kmttg finds:
> 
> "Prep & Landing" 2009 - EP0112597841-0273343331
> "Prep and Landing: Operation Secret Santa" - MV0096082841-0256429391
> MG3 and Kmttg find:
> 
> "Prep & Landing: Naughty vs. Nice" - EP0353206631-0359477183


Thanks. You seem to find them all. Tried kmttg and MG3 with no luck. I'll test again later as I not at that computer. Maybe your kmttg search populates the data for all.


----------



## dlfl

elprice7345 said:


> .....
> MG3 finds it on my system with no title overrides. kmttg says I can watch it on Xfinity VOD. Are you on Xfinity?


Nope


----------



## elprice7345

I think a lot of the hits and misses in finding programIds are due to the varying content providers.

What I don't know is if I find a programId will it be useful to someone who can’t find the same programId?

If that works, it says that MG3/kmttg are querying locally, but when someone pulls a show to their TiVo, the TiVo box is looking up programId metadata centrally somehow.

If this case works, it’s helpful to crowdsource these hard to find programIds.

If a user can’t find a programId, pulls a show with a crowd sourced programId and the metadata doesn’t appear, then crowd sourcing is pointless.

Has someone tested this case?


----------



## Sparky1234

elprice7345 said:


> I think a lot of the hits and misses in finding programIds are due to the varying content providers.
> 
> What I don't know is if I find a programId will it be useful to someone who can't find the same programId?
> 
> If that works, it says that MG3/kmttg are querying locally, but when someone pulls a show to their TiVo, the TiVo box is looking up programId metadata centrally somehow.
> 
> If this case works, it's helpful to crowdsource these hard to find programIds.
> 
> If a user can't find a programId, pulls a show with a crowd sourced programId and the metadata doesn't appear, then crowd sourcing is pointless.
> 
> Has someone tested this case?


I find that programIDs that I can't find and are posted here work fine on my TiVo. Crowd sourced programIDs sounds interesting. There is a know list that is populated in the MG3 program. You can also add to that list.


----------



## dlfl

Sparky1234 said:


> I find that programIDs that I can't find and are posted here work fine on my TiVo. Crowd sourced programIDs sounds interesting. There is a know list that is populated in the MG3 program. You can also add to that list.


No .... the list maintained by MG3 is _seriesID's_ only and for TV series only. (Not _programId's_ and not for movies). Given that a single series can have many episodes (each with a distinct programId), maintaining such a list for programId's would be a major thing with lots of complications and a potentially huge list, not conducive to convenient distribution.

One could consider a _movie_ programId list as part of MG3, since the series-episode multiplier isn't an issue for movies. However I would ask serious consideration of the following questions:
1. What percentage of movie RPC searches fail in MG3?
2. How difficult is it to find the programId in kmttg for the ones that do fail in MG3?
3. Do the answers to the previous questions justify creating and maintaining a new database within MG3? I would note that my impression is the only person making a serious effort to maintain the already existing seriesId database is @elprice7345. I suspect a separate crowd-sourced database, perhaps on a separate thread here, might be a better approach.


----------



## elprice7345

dlfl said:


> No .... the list maintained by MG3 is _seriesID's_ only and for TV series only. (Not _programId's_ and not for movies). Given that a single series can have many episodes (each with a distinct programId), maintaining such a list for programId's would be a major thing with lots of complications and a potentially huge list, not conducive to convenient distribution.
> 
> One could consider a _movie_ programId list as part of MG3, since the series-episode multiplier isn't an issue for movies. However I would ask serious consideration of the following questions:
> 1. What percentage of movie RPC searches fail in MG3?
> 2. How difficult is it to find the programId in kmttg for the ones that do fail in MG3?
> 3. Do the answers to the previous questions justify creating and maintaining a new database within MG3? I would note that my impression is the only person making a serious effort to maintain the already existing seriesId database is @elprice7345. I suspect a separate crowd-sourced database, perhaps on a separate thread here, might be a better approach.


My thoughts:

This decision should mostly be made by @dlfl, since he has to do the majority of the work
I personally don't do a lot with TiVo and movies, but I understand the value to those who do
If @dlfl is willing to put in the work, I think a separate movie version of the knownSeriesIds.txt file would be the best option. MG3 already has a separate tab for movies, so I think of it as a separate part of the program.

As users find movie programIds, MG3 can add them to the user's list
As was our original idea, these files can be shared with other users and eventually distributed with new versions of MG3 or the most up-to-date list could be posted in the 1st post with the other MG3 downloads

I don't mind helping people find programIds, but I also don't want the task to become too burdensome
I also don't mind testing the program changes if we decide to move forward
Other thoughts?


----------



## dlfl

I also find that movie programId's I can't find via MG3, but which can be found by someone else, work, although the few cases I've tried didn't populate the poster art on the TiVo (Roamio Base Model, old UI) -- maybe I need to wait a while?


----------



## dlfl

dlfl said:


> I also find that movie programId's I can't find via MG3, but which can be found by someone else, work, although the few cases I've tried didn't populate the poster art on the TiVo (Roamio Base Model, old UI) -- maybe I need to wait a while?


Well maybe the icon was there after all. For Prep and Landing: Naughty vs. Nice it shows a light blue background with randomly placed snowflakes and the title text superimposed. I'm guessing that's a generic icon used when the real one isn't available. (?)


----------



## dlfl

Version 3.86 released, see first post for downloads and:
*NOTE:* If you don't have Python installed you need to download (new) rpcSearch127.zip and place rpcSearch127.exe in your MG3 runtime folder. (You can delete rpcSearch126.exe from that folder.)

This version incorporates all the changes from the 3.86T## test distros.
An updated distroSeriesIds.txt file is also included.


----------



## dlfl

Try test distro 3.87T1 in attached zip. *EDIT:* Attachment removed -- superseded.

Ver. 3.87T1 (20 October 2018)
*Enhanced:* Added database of known movie programId's. Saved in appdata file "knownMovieIds.txt". If a file named "distroMovieIds.txt" is located in the MG3 runtime folder, its known programId's will be merged into the database at startup and then the file will be deleted.
To distribute your known id's make a copy of your "knownMovieIds.txt" file, rename it "distroMovieIds.txt" and provide it to other users who can merge it into their database by starting MG3 after placing it in the runtime folder. Known programId's are added to the database when movie metadata is saved to a pyTivo .txt metadata file either individually or during movie autoprocessing.

This distro includes a starter distroMovieIds.txt file populated with five movies and an updated distroSeriesIds.txt with some additional seriesId's.


----------



## Sparky1234

dlfl said:


> Try test distro 3.87T1 in attached zip.
> 
> Ver. 3.87T1 (20 October 2018)
> *Enhanced:* Added database of known movie programId's. Saved in appdata file "knownMovieIds.txt". If a file named "distroMovieIds.txt" is located in the MG3 runtime folder, its known programId's will be merged into the database at startup and then the file will be deleted.
> To distribute your known id's make a copy of your "knownMovieIds.txt" file, rename it "distroMovieIds.txt" and provide it to other users who can merge it into their database by starting MG3 after placing it in the runtime folder. Known programId's are added to the database when movie metadata is saved to a pyTivo .txt metadata file either individually or during movie autoprocessing.
> 
> This distro includes a starter distroMovieIds.txt file populated with five movies and an updated distroSeriesIds.txt with some additional seriesId's.


Thanks!


----------



## Soapm

Why not go to TVDB of Movie DB and enter the titles? That way they'll pull for the next person in MG3?


----------



## dlfl

Soapm said:


> Why not go to TVDB of Movie DB and enter the titles? That way they'll pull for the next person in MG3?


Huh? Neither of those databases contain TiVo programId's.


----------



## elprice7345

3.87T1 doesn't recognize entries in the knownSeriesIds.txt. It's as if there is no file.

You have to search for every series.

The knownMovieIds.txt is working well.

Rolling back to 3.86.


----------



## dlfl

elprice7345 said:


> 3.87T1 doesn't recognize entries in the knownSeriesIds.txt. It's as if there is no file.
> &#8230;&#8230;&#8230;...


OOPS! Typos introduced while adding movieId database stuff. Sorry 

Try test distro Ver. 3.87T2 in attached zip *EDIT:* Removed, superseded by later release.
Ver. 3.87T2 (23 October 2018)
Fixed: KnownSeriesId's were not accessed in TV series RPC search


----------



## dlfl

Tips and Tricks re: Movie programId database:

You can update (add to) your database without actually outputting a pyTivo metadata .txt file. Just proceed as if you were processing an individual movie but, after clicking one of the Save buttons, click "Cancel" in the video file browser that pops up.

When auto-processing movies, the database is only updated if the RPC search result movie year matches the movie year from theMovieDB. For single (manual) movie processing, the database is updated if you click a Save button, even if there is a year mismatch.

The known ID lookup keys on the Title and Year returned by theMovieDB. If you used an override title in order to find the programId by RPC search, the database also remembers the override title and will populate the Title entry in the metadata page with it. The RPC (TiVo) title will be used in the metadata .txt file and for file and folder renaming. Even if an override title was needed for the original RPC programId search, it will NOT have to be re-entered manually when the knownId feature is used in subsequent processing of the same movie.


----------



## elprice7345

*Testing 3.87T2
*
All looks good @dlfl!

The knownSeriesIds.txt bug is fixed and all is working well with TV shows.

re: Movie programId database:
All looks good as well! I like the changes!

I've added the movies that have come up in the last few weeks and attached updated distro files.


----------



## Sparky1234

elprice7345 said:


> *Testing 3.87T2
> *
> All looks good @dlfl!
> 
> The knownSeriesIds.txt bug is fixed and all is working well with TV shows.
> 
> re: Movie programId database:
> All looks good as well! I like the changes!
> 
> I've added the movies that have come up in the last few weeks and attached updated distro files.


Do I just add these to the MG3 directory?


----------



## Sparky1234

Sparky1234 said:


> Do I just add these to the MG3 directory?


I added then to MG3 directory and they were imported.


----------



## PSU_Sudzi

Really annoying how some movies programID just can't be found. I was looking up the Disney movie Fantasia (1940) tonight and it's programID is not in the generator after the RPC search nor is it in kmttg with all video providers enabled. You'd think a movie from Disney would be but maybe it's too old.

Edited for clarity.


----------



## jcthorne

PSU_Sudzi said:


> Really annoying how some movies just can't be found. I was looking up the Disney movie Fantasia (1940) tonight and it's not in the generator nor is it in kmttg with all video providers enabled. You'd think a movie from Disney would be but maybe it's too old.


Just looked this up in MG3. Found it as the first selection.


----------



## dlfl

PSU_Sudzi said:


> Really annoying how some movies just can't be found. I was looking up the Disney movie Fantasia (1940) tonight and it's not in the generator nor is it in kmttg with all video providers enabled. You'd think a movie from Disney would be but maybe it's too old.





jcthorne said:


> Just looked this up in MG3. Found it as the first selection.


Are you two talking about the basic movie search (theMovieDB) or the programId (RPC) search?


----------



## PSU_Sudzi

dlfl said:


> Are you two talking about the basic movie search (theMovieDB) or the programId (RPC) search?


Sorry, I should've clarified, I mean the programID in the RPC search. I can find the movie title and details with the MG3 tool perfectly.


----------



## dlfl

PSU_Sudzi said:


> Sorry, I should've clarified, I mean the programID in the RPC search. I can find the movie title and details with the MG3 tool perfectly.


Looks like there is no streaming source for Fantasia (1940), at least according to the WatchNow app and imdb.com.


----------



## dlfl

Version 3.87 has been released. It is functionally identical to test distro 3.87T2. See the first post for download and comments. Updated distroSeriesIds.txt and distroMovieIds.txt files are included. Thanks to @elprice7345 for updates and testing.


----------



## jcthorne

I quit using programId for movies as using them to pull movies onto the tivo resulted in less than consistent results and not keeping movies in thier folder. I let mg3 generate the metadata text file and pytivo supplies the information to the tivo during the pull.


----------



## PSU_Sudzi

dlfl said:


> Looks like there is no streaming source for Fantasia (1940), at least according to the WatchNow app and imdb.com.


Thanks for the tip, I'm pretty sure it was on Netflix a few months ago but I guess its been rotated out for now.


----------



## elprice7345

dlfl said:


> Looks like there is no streaming source for Fantasia (1940), at least according to the WatchNow app and imdb.com.


Thanks for the 3.87 update @dlfl!

@PSU_Sudzi - Also, I can't find a programId for the 1940 version of Fantasia. @dlfl is correct, if a linear or streaming version of a show or movie isn't available, you won't be able to find a programId.

You used to be able to create a "bogus" seriesId (SH9999999999) and use that as a grouping mechanism, but I haven't tried that in awhile.

pyTivo will still pull shows/movies without programIds and seriesIds, they just won't group together. And it is the programId that provides cover art and other metadata.


----------



## PSU_Sudzi

elprice7345 said:


> Thanks for the 3.87 update @dlfl!
> 
> @PSU_Sudzi - Also, I can't find a programId for the 1940 version of Fantasia. @dlfl is correct, if a linear or streaming version of a show or movie isn't available, you won't be able to find a programId.
> 
> You used to be able to create a "bogus" seriesId (SH9999999999) and use that as a grouping mechanism, but I haven't tried that in awhile.
> 
> pyTivo will still pull shows/movies without programIds and seriesIds, they just won't group together. And it is the programId that provides cover art and other metadata.


Thanks for the additional info. Is there a way to assign a bogus programID to get it to move to the Movies folder in your TiVo?


----------



## Mikeguy

Simply for whatever it's worth, various people have posted here of issues playing a show that has been transferred over from a PC: the show transfers fine and the listing appears ok, but the show itself doesn't play--worse, it then seems to infect all the other shows on the box so that they won't play, either. The only solution then becomes, clearing all the shows under the TiVo box's menu. In looking at this, this seems to have happened when the seriesID (and/or programID?) has been personalized or changed in some fashion, such as to group shows together on the box.

Needless-to-say, all the details aren't there, and the observation is based on a smattering of cases. But, there does seem to be a pattern in what is going on: issues with shows where the ID info. in the metadata file has been altered. 

This has been seen under the TE3 software; I don't know about Hydra and its children.


----------



## PSU_Sudzi

Mikeguy said:


> Simply for whatever it's worth, various people have posted here of issues playing a show that has been transferred over from a PC: the show transfers fine and the listing appears ok, but the show itself doesn't play--worse, it then seems to infect all the other shows on the box so that they won't play, either. The only solution then becomes, clearing all the shows under the TiVo box's menu. In looking at this, this seems to have happened when the seriesID (and/or programID?) has been personalized or changed in some fashion, such as to group shows together on the box.
> 
> Needless-to-say, all the details aren't there, and the observation is based on a smattering of cases. But, there does seem to be a pattern in what is going on: issues with shows where the ID info. in the metadata file has been altered.
> 
> This has been seen under the TE3 software; I don't know about Hydra and its children.


Thanks for the heads up on that! I don't transfer to the TiVo a lot so sounds like maybe a dummy ID isn't even worth the hassle. I especially loathe that most transferred files have generic thumbnails so I usually only transfer the day I want to watch and then promptly delete after.


----------



## Sparky1234

PSU_Sudzi said:


> Thanks for the heads up on that! I don't transfer to the TiVo a lot so sounds like maybe a dummy ID isn't even worth the hassle. I especially loathe that most transferred files have generic thumbnails so I usually only transfer the day I want to watch and then promptly delete after.


FYI: This program is the very best thing that ever happened for TiVo users!

I use TS and eight random number for seriesID to group into folders, same number will group together into a folder, e.g., TS12345678 will group into the same folder. TiVo will not assign a picture when using TS as seriesId. And for extra credit I use SxxExx, e.g., S01E01, S01E02, etc., in series title to more easily find what I'm looking for in the folder TS folder. Using the correct SH number will place the video in with that show's folder if it already exists on the TiVo. You can have multiple copies of the same video in that SH seriesID folder but not the TS folder.

I have also found that once you transfer a video to TiVo in the same folder you have to delete the video from that folder AND from recently deleted to remove the file. Additionally, if you do not do this AND you try to re-download the fine again it will fail.

Tell me about how you use the "movies" folder???


----------



## PSU_Sudzi

Sparky1234 said:


> FYI: This program is the very best thing that ever happened for TiVo users!
> 
> I use TS and eight random number for seriesID to group into folders, same number will group together into a folder, e.g., TS12345678 will group into the same folder. TiVo will not assign a picture when using TS as seriesId. And for extra credit I use SxxExx, e.g., S01E01, S01E02, etc., in series title to more easily find what I'm looking for in the folder TS folder. Using the correct SH number will place the video in with that show's folder if it already exists on the TiVo. You can have multiple copies of the same video in that SH seriesID folder but not the TS folder.
> 
> I have also found that once you transfer a video to TiVo in the same folder you have to delete the video from that folder AND from recently deleted to remove the file. Additionally, if you do not do this AND you try to re-download the fine again it will fail.
> 
> Tell me about how you use the "movies" folder???


Well I have the folders turned on in my TiVo's show lists, so any movie I record ends up in that folder and any TV show ends up in the TV show folder. If you have a movie or TV show without a programID, when you transfer it to the TiVo it does not go in either folder and ends up lumped in with the list of "all" shows. Some people like to browse all TV shows and movies together when deciding what to watch but I prefer to view them separately. This is the same thing that happens when you record a "special", it gets lumped into all shows. I wish TiVo had a folder for "specials" as well.


----------



## Sparky1234

PSU_Sudzi said:


> Well I have the folders turned on in my TiVo's show lists, so any movie I record ends up in that folder and any TV show ends up in the TV show folder. If you have a movie or TV show without a programID, when you transfer it to the TiVo it does not go in either folder and ends up lumped in with the list of "all" shows. Some people like to browse all TV shows and movies together when deciding what to watch but I prefer to view them separately. This is the same thing that happens when you record a "special", it gets lumped into all shows. I wish TiVo had a folder for "specials" as well.


I have folders selected in my shows but movies and TV shows that don't have the same seriesID or programID are listed individually not in folders. Do you use the same seriesID or programID to get them all into the same folder?


----------



## PSU_Sudzi

Sparky1234 said:


> I have folders selected in my shows but movies and TV shows that don't have the same seriesID or programID are listed individually not in folders. Do you use the same seriesID or programID to get them all into the same folder?


This the first time I've had a movie where I couldn't find the program ID so I don't know of anyway to force it into the movies folder that is on the TiVo itself. I've not tried to create my own folders as you described as I don't know how.


----------



## elprice7345

PSU_Sudzi said:


> This the first time I've had a movie where I couldn't find the program ID so I don't know of anyway to force it into the movies folder that is on the TiVo itself. I've not tried to create my own folders as you described as I don't know how.


I'm guessing TiVo recognizes a movie because the "seriesId" starts with "MV" vs. "SH" for TV shows.

Try a made up seriesId like MV9999999999.


----------



## PSU_Sudzi

elprice7345 said:


> I'm guessing TiVo recognizes a movie because the "seriesId" starts with "MV" vs. "SH" for TV shows.
> 
> Try a made up seriesId like MV9999999999.


Tried "MV..." with 10 digits and it didn't work, it still places the movie in general shows list and not in the movies folder. No biggie.


----------



## Sparky1234

PSU_Sudzi said:


> Tried "MV..." with 10 digits and it didn't work, it still places the movie in general shows list and not in the movies folder. No biggie.


This works for same folder for movies AND TV shows:

title : Movies
seriesTitle : Movies
episodeTitle : "Movie Name" (without quotes: this is what shows up in the movie folder so you can add year or other descriptor)
episodeNumber : 0001104 (your unique sequence of number)
originalAirDate : 2018-10-23T23:30:00Z (movie year - in this format)
description : (Movie description here)
isEpisode : true
isEpisodic : true
seriesId : TSxxxxxxxx (your same unique 8 digit number)
vSeriesGenre : Movies
tvRating : (does not show up)
vSeriesGenre : (does not show up)
vActor : (does not show up)
image : (Movie name but does not show up)

Others may have more tweaks that work better.


----------



## PSU_Sudzi

Sparky1234 said:


> This works for same folder for movies AND TV shows:
> 
> title : Movies
> seriesTitle : Movies
> episodeTitle : "Movie Name" (without quotes: this is what shows up in the movie folder so you can add year or other descriptor)
> episodeNumber : 0001104 (your unique sequence of number)
> originalAirDate : 2018-10-23T23:30:00Z (movie year - in this format)
> description : (Movie description here)
> isEpisode : true
> isEpisodic : true
> seriesId : TSxxxxxxxx (your same unique 8 digit number)
> vSeriesGenre : Movies
> tvRating : (does not show up)
> vSeriesGenre : (does not show up)
> vActor : (does not show up)
> image : (Movie name but does not show up)
> 
> Others may have more tweaks that work better.


So this did put Fantasia into the TV shows folder on the TiVo but not the Movies folder.


----------



## Sparky1234

PSU_Sudzi said:


> So this did put Fantasia into the TV shows folder on the TiVo but not the Movies folder.


Interesting, I can only show them in a folder named Movies no matter the name in these areas:

title : AnyName
seriesTitle : AnyName


----------



## Sparky1234

PSU_Sudzi said:


> So this did put Fantasia into the TV shows folder on the TiVo but not the Movies folder.


Are you using Hydra?


----------



## PSU_Sudzi

Sparky1234 said:


> Are you using Hydra?


No I'm on the old UI gen3.


----------



## Sparky1234

PSU_Sudzi said:


> No I'm on the old UI gen3.


Tweaked:

title : Movies (shows on TiVo in folder named Movies - no matter the name you use but displays on the generic movie picture cover)
seriesTitle : Movie Name (2015)
episodeTitle : Movie Name (2015)
episodeNumber : 00000xx (create your own sequence of numbers)
description : Movie description from MG3 or pytivo
isEpisode : true
isEpisodic : true
seriesId : TSxxxxxxxx (TS with SAME 8 digit number)


----------



## PSU_Sudzi

Sparky1234 said:


> Tweaked:
> 
> title : Movies (shows on TiVo in folder named Movies - no matter the name you use but displays on the generic movie picture cover)
> seriesTitle : Movie Name (2015)
> episodeTitle : Movie Name (2015)
> episodeNumber : 00000xx (create your own sequence of numbers)
> description : Movie description from MG3 or pytivo
> isEpisode : true
> isEpisodic : true
> seriesId : TSxxxxxxxx (TS with SAME 8 digit number)


Tried this out and it still places the show in the TV folder and not the Movies folder.


----------



## Sparky1234

PSU_Sudzi said:


> Tried this out and it still places the show in the TV folder and not the Movies folder.


Movie folder under TV programs?


----------



## PSU_Sudzi

Sparky1234 said:


> Movie folder under TV programs?


I'm not sure what you mean? My Shows has options you can check that turn on or off folders in the list. I only have two options checked-TV Series and Movies. Each one only includes shows of that type. It seems no matter how I manipulate the metadata as you suggested for the Fantasia file I transfer to the TiVo, it ends up in the TV Series folder, not movies. I'm guessing it's because the programID is missing.


----------



## Sparky1234

PSU_Sudzi said:


> I'm not sure what you mean? My Shows has options you can check that turn on or off folders in the list. I only have two options checked-TV Series and Movies. Each one only includes shows of that type. It seems no matter how I manipulate the metadata as you suggested for the Fantasia file I transfer to the TiVo, it ends up in the TV Series folder, not movies. I'm guessing it's because the programID is missing.


I have folders selected and then select All. A Movies folder contains all my movies that were downloaded.


----------



## PSU_Sudzi

Sparky1234 said:


> I have folders selected and then select All. A Movies folder contains all my movies that were downloaded.


Ahh ok you are forcing the TiVo to create a new folder got it.


----------



## Sparky1234

PSU_Sudzi said:


> Ahh ok you are forcing the TiVo to create a new folder got it.


Tweaked again:

title : Movie Name
seriesTitle : Any Name you want for folder (shows on TiVo as the folder name)
episodeTitle : Movie Name (2015) (I add year in parentheses)
episodeNumber : 00000xx (create your own sequence of numbers)
description : Movie description from MG3 or pytivo
isEpisode : true
isEpisodic : true
seriesId : TSxxxxxxxx (TS with SAME 8 digit number)


----------



## Soapm

This is a little on but off topic, all my mp4 movies have the metadata embedded thanks to this great tool...

1. Anyway to view the metadata other then on the tivo?

2. I put some on a USB stick so I can watch them directly on my TV, yet all I see are the file names but not the thumbnails or metadata? Anyone know what a LG 65UH615A might be looking for in this area? And if MG can provide it?


----------



## Sparky1234

Soapm said:


> This is a little on but off topic, all my mp4 movies have the metadata embedded thanks to this great tool...
> 
> 1. Anyway to view the metadata other then on the tivo?
> 
> 2. I put some on a USB stick so I can watch them directly on my TV, yet all I see are the file names but not the thumbnails or metadata? Anyone know what a LG 65UH615A might be looking for in this area? And if MG can provide it?


Try MediaInfo.


----------



## dlfl

Soapm said:


> This is a little on but off topic, all my mp4 movies have the metadata embedded thanks to this great tool...
> 
> 1. Anyway to view the metadata other then on the tivo?
> 
> 2. I put some on a USB stick so I can watch them directly on my TV, yet all I see are the file names but not the thumbnails or metadata? Anyone know what a LG 65UH615A might be looking for in this area? And if MG can provide it?


I second the motion for MediaInfo. If the TV won't use the embedded metadata, which isn't surprising to me, I don't know how else it would get it. I don't suppose the TV would run a Plex app and even if it did you would have to have Plex server running on a networked PC.


----------



## Soapm

Sparky1234 said:


> Try MediaInfo.


Thanks, I can see the description but I was trying to figure out why I don't see the thumbnails when looking at the files on the TV. It seems to pick a random scene for a thumbnail???


----------



## Soapm

dlfl said:


> I second the motion for MediaInfo. If the TV won't use the embedded metadata, which isn't surprising to me, I don't know how else it would get it. I don't suppose the TV would run a Plex app and even if it did you would have to have Plex server running on a networked PC.


I do run a Plex server but Comcast now charges when you go over a Terabyte, my daughter has Netflix which keeps us close each month so I'm starting to carry shows on a USB stick when I go to the office.

It's not the biggest of deals it's just that you go through all the trouble inserting metadata so you want to see the fruits of your labor somewhere???


----------



## dlfl

Soapm said:


> Thanks, I can see the description but I was trying to figure out why I don't see the thumbnails when looking at the files on the TV. It seems to pick a random scene for a thumbnail???


And you are embedding thumbnails along with the other metadata?


----------



## Soapm

dlfl said:


> And you are embedding thumbnails along with the other metadata?


I was under the impression that's what MG was doing? Are you saying it doesn't do that?


----------



## dlfl

Soapm said:


> I was under the impression that's what MG was doing? Are you saying it doesn't do that?


I'm not where I can look at MG3 or run it right now but I believe you need to check the appropriate boxes on the Settings Tab, Outputs form and it will then embed artwork.


----------



## Sparky1234

dlfl said:


> I'm not where I can look at MG3 or run it right now but I believe you need to check the appropriate boxes on the Settings Tab, Outputs form and it will then embed artwork.


I use MKVToolNix GUI to embed artwork BUT it does not appear on TiVo. My understanding is that TiVo has to "recognize" the show/move and it inputs the artwork. I have tried unsuccessfully to embed artwork on TiVo with zero success.

Artwork embedded with MKVToolNix GUI shows up on my PC and when I use DLNA to a smart TV.

More details on MG3 and artwork interface would be great!


----------



## Soapm

It could be my fault but I assumed when it said it was inserting metadata, that the cover art was included in the deal. This is also why I asked how you see what exactly was inserted.

I see in mediainfo an entry that says;



Code:


Cover...  YES / YES

Again, excuse me for assuming but I was assuming that meant cover art...


----------



## dlfl

Soapm said:


> It could be my fault but I assumed when it said it was inserting metadata, that the cover art was included in the deal. This is also why I asked how you see what exactly was inserted.
> 
> I see in mediainfo an entry that says;
> 
> 
> 
> Code:
> 
> 
> Cover...  YES / YES
> 
> Again, excuse me for assuming but I was assuming that meant cover art...


If mediaInfo says "Cover : Yes" then the thumbnail is embedded in the .mp4. My MediaInfo does not display "YES / YES" so don't know what that is about.

When auto-processing TV Series, thumbnail embedding is enabled by selecting "Generate JPG with same name as video" in the "Art Generation Mode" part of OUTPUT FILE PREFERENCES, which comes up when you click "Outputs" on a Setting tab. You also need to check the checkbox: "Embed Metadata in mp4/m4v files".
Also note the checkbox: "Write jpg file even if embedded in .mp4 or .m4v" and set to your preference.

When processing individual TV Series episodes, thumbnail embedding is controlled by which save button you click ("Save" or "Save with Art") and the settings in OUTPUT FILE PREFERENCES.

These settings got a little more confusing than they probably need to be as the program evolved from only having single-episode processing to also including auto-processing of series/seasons. Maybe I will take a look at improving that.


----------



## Sparky1234

dlfl said:


> If mediaInfo says "Cover : Yes" then the thumbnail is embedded in the .mp4. My MediaInfo does not display "YES / YES" so don't know what that is about.
> 
> When auto-processing TV Series, thumbnail embedding is enabled by selecting "Generate JPG with same name as video" in the "Art Generation Mode" part of OUTPUT FILE PREFERENCES, which comes up when you click "Outputs" on a Setting tab. You also need to check the checkbox: "Embed Metadata in mp4/m4v files".
> Also note the checkbox: "Write jpg file even if embedded in .mp4 or .m4v" and set to your preference.
> 
> When processing individual TV Series episodes, thumbnail embedding is controlled by which save button you click ("Save" or "Save with Art") and the settings in OUTPUT FILE PREFERENCES.
> 
> These settings got a little more confusing than they probably need to be as the program evolved from only having single-episode processing to also including auto-processing of series/seasons. Maybe I will take a look at improving that.


How about mkv files?


----------



## dlfl

Sparky1234 said:


> How about mkv files?


mg3 doesn't embed in mkv files.


----------



## Sparky1234

dlfl said:


> mg3 doesn't embed in mkv files.


Just started getting Error reading for knownMovieIds.txt.


----------



## dlfl

Sparky1234 said:


> Just started getting Error reading for knownMovieIds.txt.


Verify what version of MG3 you're using.

When does the error occur?

What is the error message? Can you provide a copy of it?

Did you change anything recently so it "just started"?

Please attach a copy of your knownMovieIds. txt


----------



## Sparky1234

dlfl said:


> Verify what version of MG3 you're using.
> 
> When does the error occur?
> 
> What is the error message? Can you provide a copy of it?
> 
> Did you change anything recently so it "just started"?
> 
> Please attach a copy of your knownMovieIds. txt


Self corrected, stopped doing it on its own.


----------



## dlfl

Sparky1234 said:


> Self corrected, stopped doing it on its own.


If it happens again please, before doing anything else, grab your knownMovieIds.txt file for me. Also would like the other info requested in post #313.


----------



## elprice7345

Is anyone else seeing the attached error?

MG3 was working last night.


----------



## reneg

elprice7345 said:


> Is anyone else seeing the attached error?
> 
> MG3 was working last night.


Seeing the same error today.


----------



## JohnnyRocket

elprice7345 said:


> Is anyone else seeing the attached error?
> 
> MG3 was working last night.


I'm also having this same error...


----------



## elprice7345

@dlfl Can you tell if this is an MG3 issue or a TiVo RPC issue?


----------



## HerronScott

Yeah same error here as well.

Scott


----------



## dlfl

I see this also.
This error means MG3 is unable to establish a secure connection to the middlemind.tivo.com RPC server. Either the server is not up or they are requiring a new security certificate. Incorrect credentials also cause this error message but this is unlikely in this case since we are all seeing the error suddenly.

The server responds to pings but that doesn't prove it's responding correctly. I've contacted @moyekj since he has been my source of security certificates.


----------



## mickrussom

elprice7345 said:


> Is anyone else seeing the attached error?
> 
> MG3 was working last night.


Yeah, same here, and I could get movie data successfully but not TV series data. Strange situation.


----------



## philhu

I just tried tv and movie. It is working fine for me for both


----------



## elprice7345

@philhu MG3 fetches programids for you?


----------



## dlfl

@moyekj says the security certificate should still be valid so all I can think of is that middlemind is malfunctioning intermittently.


----------



## Sparky1234

It's working perfectly for me.


----------



## philhu

elprice7345 said:


> @philhu MG3 fetches programids for you?


I normally only pull meta descriptions. Ill have to try program ids. Is that the extended metadata?


----------



## HerronScott

When I tried search in kmttg, I get an authentication error as well.

>> Keyword search completed: 'The Mummy' on TiVo: TiVo Roamio
RPC error response:
{
"code": "authenticationFailed",
"text": "Failed calling IT mind with 'login': ProcessITMindRequest caught 'Number of retries (1) exceeded: last error: PostString failed: Curl error: HTTP response code said error (22). Url: https://www8.tivo.com/authinternal/mindLite2?type=login'",
"type": "error"
}

rpc Auth error - null

Scott


----------



## philhu

Working fine for me. I just indexed 3 movies and 2 tv shows

Unless its an mg3 error i think it must be ok or the tivos would be going crazy showing no listings. Also the ‘what to watch’ is working fine


----------



## reneg

HerronScott said:


> When I tried search in kmttg, I get an authentication error as well.
> 
> >> Keyword search completed: 'The Mummy' on TiVo: TiVo Roamio
> RPC error response:
> {
> "code": "authenticationFailed",
> "text": "Failed calling IT mind with 'login': ProcessITMindRequest caught 'Number of retries (1) exceeded: last error: PostString failed: Curl error: HTTP response code said error (22). Url: https://www8.tivo.com/authinternal/mindLite2?type=login'",
> "type": "error"
> }
> 
> rpc Auth error - null
> 
> Scott


I am seeing the same error on kmttg search function however, it's returning results to the search query. Still failing for me with any query with Meta Generator.


----------



## Morocco Mole

elprice7345 said:


> Is anyone else seeing the attached error?
> 
> MG3 was working last night.


Same error on MG3 search. New install so can't say "it was working before". I have triple checked my login and password.


----------



## CincyBob

elprice7345 said:


> Is anyone else seeing the attached error?
> 
> MG3 was working last night.


I'm getting the exact same error message. Before I visited this forum and discovered this is apparently a wider issue, I had updated my version of the MG3 software (I had been running a September release) and I had updated my password at the Tivo website. Of course, none of that helped to resolve the error in retrieving program IDs from the middlemind server. I did notice in updating my password that the Tivo website appears to be experiencing intermittent login issues where the login in web page often does not load properly. I suppose this could be related to the problem the MG3 software is experiencing when trying to present credentials to the middlemind server.

I should also note that I typically run MG3 at least twice a week, and I have not experienced this problem before today.

Similar to the individual who posted above, I was able to use the kmttg software to retrieve the program IDs I was seeking (retrieval of program IDs is the only reason I'm pinging the middlemind server from the MG3 software). The kmttg software returns an RPC error indicating some sort of authentication problem but then returns all the program data anyway.


----------



## elprice7345

reneg said:


> I am seeing the same error on kmttg search function however, it's returning results to the search query. Still failing for me with any query with Meta Generator.


I'm still seeing the same MG3 error today. I also see the kmttg search error, but kmttg returns search results.

To be clear: MG3 works properly for retrieving metadata from TVDB and TMDB and renaming files.

The only functionality affected is retrieving programIds from TiVo.


----------



## moyekj

I think there is flakiness with TiVo servers lately. Don't know if it's related, but last night I did not get "SKIP" on programs that should have and normally do (SKIP data comes from middlemind servers as well). I think TiVo is better at hiding error messages from the GUI these days even when TiVos themselves are affected.


----------



## Sparky1234

moyekj said:


> I think there is flakiness with TiVo servers lately. Don't know if it's related, but last night I did not get "SKIP" on programs that should have and normally do (SKIP data comes from middlemind servers as well). I think TiVo is better at hiding error messages from the GUI these days even when TiVos themselves are affected.


That explains a lot over in the SM Thread that I follow!


----------



## HerronScott

moyekj said:


> I think there is flakiness with TiVo servers lately. Don't know if it's related, but last night I did not get "SKIP" on programs that should have and normally do (SKIP data comes from middlemind servers as well). I think TiVo is better at hiding error messages from the GUI these days even when TiVos themselves are affected.


I was wondering if it was related to the authentication issues users of the older version of the mobile app are reporting as in they made a change which causes issues for the older mobile app and Metagenerator/kmttg.

Scott


----------



## p1ague

I don't know if this is the same thread I've chimed in on before, sorry to both active devs for being such a flake when "user" is the easy job. I am also having trouble with the middlemind in both kmttg and MG3 so I was looking here to see if it's just me. Sorry I don't have anything to add there, but I wanted to share a potential workaround for at least those of you with older units.

I haven't ever seen anyone in these discussions mention (perhaps for legality reasons, if so please let me know to redact) using online.tivo.com to find programIDs. There are a lot of things that you can't find, even directly from the TiVo, but you can still look them up on that site, sometimes when searching for the title doesn't work, searching for an actor in it and then scrolling through their TV Credits or Movie Credits will. (Doing things that way, you get a little of a crapshoot, because the same movie will be listed with the same title multiple times, and you have to find the one whose description is in English, or your preferred language. "Open link in new tab" is your friend here, because you will otherwise have to repeat a frustrating amount of scrolling if you open the wrong page and go back.)

Once you are looking at a good page for the movie you were searching, its URL will be something like "online.tivo.com/start/info/tivo:cl.###" and the seriesID for that movie MV0### (pad with 0's to 10 digits, and it's SH if it was a TV show not a movie). Unfortunately, I don't know how to find the second 10 digits for programID : MV0##########-??????????, it will usually SORTOF work if you just use the same 10 digit number, but not really. If you get a good programID and seriesID, then a TiVo running the HD or Hydra interface will ignore all of your other metadata, and look up the info itself, filling in everything including the thumbnail image. If you use MV0#-0# that you made up, then the HD interface will often use your metadata and have no thumbnail, but occasionally not work at all, or rename it completely and wrongly. The Hydra interface of course can't pull from pytivo anyway, but if you have transferred to a TiVo it can see, it cannot play or transfer files with custom metadata (where there was a small chance it could've played one with accurate programID and the right format.)

For TV shows, I THINK it's possible to get the full programID for a given episode by picking the series, then "All episodes" and then when you highlight the episode you need, get the URL for sharing by facebook: it should end with something like 
"/sharer/sharer.php?u=http://online.tivo.com/start/episode/tivo:cl.#a#a#/tivo:ct.#b#b#"

I'm guessing that the older style tivos, which didn't use a 20 digit hyphenated programID for movies, will be very happy if you just give them the 10 digit code you can find on the website.

As an example, for Fantasia (1940) it didn't show up from a direct search for "fantasia", but IMDB tells me 
"*Stars:*
Leopold Stokowski, Deems Taylor, Corey Burton | See full cast & crew"
A search for Leopold Stokowski also gave nothing useful under either of the two results. But Deems Taylor also has two results, the first one being "Deems Taylor - Narrator" and his only credit is: Fantasia (1940). Clicking that takes me to http://online.tivo.com/start/info/tivo:cl.1569988, so Fantasia is "seriesID : MV0001569988" and I'd use "programID : MV0001569988-0001569988" for lack of a better method. It often works better than leaving it blank to use this number; at the very least it tells the tivo to treat it as a movie..


----------



## elprice7345

moyekj said:


> I think there is flakiness with TiVo servers lately. Don't know if it's related, but last night I did not get "SKIP" on programs that should have and normally do (SKIP data comes from middlemind servers as well). I think TiVo is better at hiding error messages from the GUI these days even when TiVos themselves are affected.


@moyekj I search for shows using kmttg and it returns programIds.

Why does kmttg retrieve programIds when MG3 doesn't? Does kmttg not use the same middlemind servers to retrieve programId?


----------



## moyekj

elprice7345 said:


> @moyekj I search for shows using kmttg and it returns programIds.
> 
> Why does kmttg retrieve programIds when MG3 doesn't? Does kmttg not use the same middlemind servers to retrieve programId?


 It may help that kmttg will re-try (once) upon RPC error. Also, another difference is for linear content the query goes to the TiVo rather than to middlemind server, so it could be the results you are getting are linear (non-streaming) results only. If I recall the code MG3 is using always queries middlemind server directly, never through a TiVo.


----------



## p1ague

I think it really is a transitory server issue, because mine has already cleared up and MG3 is working again.

PS to my previous post, the primary reason that I wind up having to turn to the tivo website is that MG3 gets mismatched years somehow (e.g. it will say "Movie (2003)" in the search field, but in the metadata details, after telling me it failed to retrieve programID, it says 2004 for "Movie Year:".. or some other variation where tivo and the query are mismatched on the year for that movie.)


----------



## CincyBob

p1ague said:


> I think it really is a transitory server issue, because mine has already cleared up and MG3 is working again.


Yes, confirmed, MG3 is working again here as well.


----------



## elprice7345

moyekj said:


> It may help that kmttg will re-try (once) upon RPC error. Also, another difference is for linear content the query goes to the TiVo rather than to middlemind server, so it could be the results you are getting are linear (non-streaming) results only. If I recall the code MG3 is using always queries middlemind server directly, never through a TiVo.


You are correct @moyekj, my search was returning only linear results.

And MG3 is working again for me. Let's hope MG3 continues to work!


----------



## dlfl

moyekj said:


> It may help that kmttg will re-try (once) upon RPC error. Also, another difference is for linear content the query goes to the TiVo rather than to middlemind server, so it could be the results you are getting are linear (non-streaming) results only. If I recall the code MG3 is using always queries middlemind server directly, never through a TiVo.


That is correct. Yesterday I experimented with having MG3 re-try twice and it made no difference. What time delay between trys do you use? I tried 2 secs and 5 secs.


----------



## moyekj

dlfl said:


> That is correct. Yesterday I experimented with having MG3 re-try twice and it made no difference. What time delay between trys do you use? I tried 2 secs and 5 secs.


Per post #342 above, looks like the part that worked was linear content only which queries a TiVo on your LAN rather than middlemind server.


----------



## HerronScott

Working again here and it's reported that the authentication on the old Android app also started working yesterday as well so I would say the issues were definitely related.

Scott


----------



## Pete B

I have the latest MG3. I'm able to search the TV show and episodes I want. The metadata is downloaded/generated. However, I'm never able to save to create the txt file. What am I doing wrong? I click save, select my video file (has .mkv extension) and I get the error: "File Save Error: There was an error saving if a .txt or .jpg file of the same name exists, check the security details. It may be preventing access. (Delete it) I'm running win10 pro 64 bit. I've tried running as admin. the output folder just has the video file and nothing else.

thanks for the help


----------



## dlfl

Pete B said:


> I have the latest MG3. I'm able to search the TV show and episodes I want. The metadata is downloaded/generated. However, I'm never able to save to create the txt file. What am I doing wrong? I click save, select my video file (has .mkv extension) and I get the error: "File Save Error: There was an error saving if a .txt or .jpg file of the same name exists, check the security details. It may be preventing access. (Delete it) I'm running win10 pro 64 bit. I've tried running as admin. the output folder just has the video file and nothing else.
> 
> thanks for the help


Please post the folder path and file name. Try moving the .mkv file to a folder that can't have any permission quirks, (e.g., c:\test).


----------



## p1ague

penmouth:OMG, thanks, this is awesome! I didn't notice it in the change notes (probably cause you've done more than one version since my last post?!,) but I LOVE your implementation--that gentle warning is brilliant!

PS - Also great job tweaking the title adjustment; I had thought of suggesting something different than the mandatory pop-up window, but I figured "don't look a gift horse in the mouth," your solution there is better than I would've hoped for!


----------



## p1ague

There's one thing I wasn't sure if you'd truly gone above and beyond for, and it looks like no, but I can't tell for sure: Does it take into account any changes you make to the Movie Year field when you hit "Update?" 

Cause it seems to find movies that are one year off, but I have found one that was 2 years separated, and that doesn't seem to be searchable. It's "Millennium Actress (2001)" which for some reason comes up as 2003 for the movie year, and shows up as "...(2002)" in the preliminary search results. But I do find it on the TiVo online site; also as 2001. Not everything I can find there will turn up in MG3 results, though, even in the best case, so I'm not sure if the year discrepancy is relevant or a red herring.


----------



## dlfl

p1ague said:


> There's one thing I wasn't sure if you'd truly gone above and beyond for, and it looks like no, but I can't tell for sure: Does it take into account any changes you make to the Movie Year field when you hit "Update?"
> 
> Cause it seems to find movies that are one year off, but I have found one that was 2 years separated, and that doesn't seem to be searchable. It's "Millennium Actress (2001)" which for some reason comes up as 2003 for the movie year, and shows up as "...(2002)" in the preliminary search results. But I do find it on the TiVo online site; also as 2001. Not everything I can find there will turn up in MG3 results, though, even in the best case, so I'm not sure if the year discrepancy is relevant or a red herring.


Currently the update key doesn't use a different year even if you entered it However *I think I will change it so it does,* primarily prompted by this case, which I think is very unusual.

IMDB.com lists the movie as "Millennium Actress (2001)" but they give a release date in 2002 further down on their page (?!?!). The movieDB.org data gives an overall release date in 2002 (which is what MG3 uses in what you called the "preliminary search". But the movieDB data also gives multiple release dates by country, which MG3 defaults to on the movie detail page and that is 2003 for the USA. *This seems wrong so I will change it so the detail page uses the same date as the "preliminary" search* (if available -- and otherwise the country-specific date).

TiVo apparently uses the same release date (2001) as IMDB does (in one place, i.e., the title -- I don't see where IMDB got that 2001, but there it is). Turns out the only way MG3's RPC programId search can succeed in this particular case is if the year from movieDB.org (now 2003 but will be 2002 after I mod MG3) is overridden by 2001, which it can be after I make that mod in MG3.


----------



## dlfl

Try test distro Ver. 3.88T2 contained in the attached zip. It has the mods discussed in my previous post (#350)
*OOPS: Forum now throws an error when I try to upload the attachment. (????)*
Try this one-drive link:
MG388T2.zip
*EDIT: This version is superseded by release 3.88, see first post.*

Override the release year for "Millennium Actress" from 2002 to 2001 and hit the update button. The programId will be entered in the knownMovieIds database if you hit a save button. Let me know if the programId it finds agrees with kmttg.


----------



## p1ague

That sucks about the forum, hope they fix it, but I was able to access that one drive link and as near as I can tell it looks great. I can't actually compare to kmttg because that was one it doesn't return anything on. It _does_ match the online.tivo.com partial result that I can only find by searching the director's name (Satoshi Kon) and browsing his film credits, and it fills in the mystery part of that number which I can't figure out how to find otherwise! So you might actually be the superior RPC searching option right now 

Now I wish I had been taking notes when I ran across ones I couldn't find meta for; it's going to be somewhat labor intensive or blind luck to search out the ones with no programID or one that I just made up to fit its series ID.. the only surefire way to find them is when the TiVo doesn't retrieve good records when I pull that file. I know I came across a few other ones with similar year situations, at least a dozen.. and I actually had one movie where there was a *15 year* discrepancy between records.. I assume it must've been one where photography and widespread release had a bunch of obstacles between them, but damn if I can remember what movie that was.


----------



## elprice7345

I don't use MG3 too much with movies, so weight my opinion accordingly. 

I think this is a good improvement to the movie lookup logic. I've tested it with the only sample provided and it works for me.

Some notes/thoughts:

Kmttg doesn't find "Millennium Actress" for me, but MG3 does. We've seen this happen on occasion.
I hadn't thought to use online.tivo.com as a resource to find show information. When I search for "Millennium Actress", online.tivo.com doesn't find the movie for me.
The online.tivo.com URL ends with the partnerCollectionId/seriesId. Not sure how useful this is, but it does provide another source to find show info.
I've also attached updated versions of distroMovieIds.txt and distroSeriesIds.txt for anyone to use.


----------



## p1ague

I don't want to be "that guy" about it or anything, but you'll see that I mentioned you have to search for the director, not the movie name, to find that result. The Tivo site can be a great resource, as I described more in-depth on a post of the previous page, but it's really finicky like that. And even the indirect method takes some doing; sometimes I have to try 5 or 6 cast members before I find one who has that credit listed. There were a couple that I only found by their credited WRITER, no cast or directors matched. But they'll have a full entry for the movie once I track it down, even though there were no results for the EXACT title it's listed under or any of the words in it. And with this new metagen version, once you have that title and have found the correct year for Tivo, you can dredge out titles that you couldn't search for directly on tivo.com! Very bizarre. 

Speaking of series instead of movies, at the risk of pushing my luck.. (I still can't believe how wonderfully the first mild annoyance got squashed!) I do have one thing about the series search behavior that has bugged/confused me for a while but I didn't want to complain: How come it can keep track of seriesID between sessions, but drops all the episodes' programIDs? Where this really becomes a problem is in series that change names every season, but are still considered a single series to TVDB nerds, like Marvel's Avengers Assemble or American Crime Story. That basically forces you to re-do the seriesID search to match whichever episode you're trying to tag at the moment, and for some shows you also have to remember how to match the description snippet in the deep search results window. To a lesser extent this is also problematic with very long-running shows, like Sesame Street and Saturday Night Live, because the search for programIDs takes FOREVER, and then the results window is too big to fit on the screen. (IIRC I have to close that by spacebar because the OK button is inaccessible off the bottom, and the title bar is unreachable off the top.) It sure would be nice if I only had to do that once; and could store the programID/seriesID set I'm happy with, and/or if I could do the right-click "find programID" search for JUST the episode I'm interested in without doing all of them first..


----------



## dlfl

Version 3.88 has been released, functionally identical to test version 3.88T2 although augmented distroSeriesId.txt and distroMovieIds.txt files are included, courtesy of @elprice7345 .

See first post for changes and download attachment.


----------



## Sparky1234

dlfl said:


> Version 3.88 has been released, functionally identical to test version 3.88T2 although augmented distroSeriesId.txt and distroMovieIds.txt files are included, courtesy of @elprice7345 .
> 
> See first post for changes and download attachment.


Yippee!!!


----------



## dlfl

p1ague said:


> &#8230;&#8230;&#8230;.
> I do have one thing about the series search behavior that has bugged/confused me for a while but I didn't want to complain: How come it can keep track of seriesID between sessions, but drops all the episodes' programIDs? Where this really becomes a problem is in series that change names every season, but are still considered a single series to TVDB nerds, like Marvel's Avengers Assemble or American Crime Story. That basically forces you to re-do the seriesID search to match whichever episode you're trying to tag at the moment, and for some shows you also have to remember how to match the description snippet in the deep search results window. To a lesser extent this is also problematic with very long-running shows, like Sesame Street and Saturday Night Live, because the search for programIDs takes FOREVER, and then the results window is too big to fit on the screen. (IIRC I have to close that by spacebar because the OK button is inaccessible off the bottom, and the title bar is unreachable off the top.) It sure would be nice if I only had to do that once; and could store the programID/seriesID set I'm happy with, and/or if I could do the right-click "find programID" search for JUST the episode I'm interested in without doing all of them first..


This would have to be done on a user-selected basis. Saving all programId's ever found would be likely to use too much disk space.

With a rather significant programming effort MG3 could save and reload programId's that have already been found. However I currently have no RPC search algorithm for quickly finding programId's for just the most recent one, or several, episodes of an ongoing series -- and I doubt I could come up with one. Thus updating those would require repeating the lengthy search over all series episodes.

I looked at Sesame Street and I don't know where you would get programId's for most of its episodes. Are you able to do that?

MG3 seems to do an excellent job finding programId's for SNL provided you use S/E matching. This is a case where having saved previously searched ProgramId's would save a lot of time, provided you weren't looking for a recent episode from a date following the last time you did the full search.

How are you getting programId's for Marvel's Avengers Assemble and American Crime Story? I had little to no success using MG3. Having saved previously searched results would help in these cases but where do you get them to begin with?


----------



## elprice7345

@dlfl - I think it would be valuable if we could find a way to store the unique seriesIds for anthology series. We discussed this a while back and couldn't come up with a way to do it or you found it more trouble than it was worth .

There are several anthology series where this would be useful: "American Crime Story", "American Horror Story", "24", "Will & Grace" (not an anthology series, but TVDB and TiVo season numbers don't match), etc.

You would have to add the TiVo specific season title and season number to knownSeriesIds.txt. I have no idea how much work that would be for you or if you need the new challenge .

As for storing the programId, I agree that it would save time for a few series, but that has to be balanced against:

the extra storage requirements?
Programming effort?

How to check/update for new episodes?
How to check for changes TiVo makes to programIds?
Even for shows with many seasons, "Nature", "Frontline", "Modern Marvels", etc., I don't find my searches take more than a minute or so and most are a few seconds.

We did discuss at one point having TVDB store the seriesId, but this didn't get very far: Add Rovi/TiVo Series ID - TheTVDB.com

I suppose we could request the TVDB to store season specific seriesId and episode specific programId, but I'm not sure there would be a groundswell of users to push that forward.


----------



## dlfl

Try test distro Ver. 3.89T1 in attached zip.
*edit*: Attachment removed. Superseded by 3.89 release.
Ver. 3.89T1 (26 March 2019)
* Enhanced*: Can save and load previously determined programId's (and matching seriesId's).

I couldn't resist programming this and it turned out to be less effort than I had guessed.
Known programId's are stored in the "programIds" subfolder of the MG3 appdata folder. Each series has a file entitled <series name>.txt.

programId's are saved via right-clicking in the series episode tree on either the entire series node or on a season node. For the entire series case you are asked if you want to augment or replace any existing saved file. Only non-empty programId's are saved. Note this means if you save without having populated any programId's and choose to replace the file, the saved file will be cleared of all programId's. (This is how you can forget all previously saved programId's for the series.) For season node saves it uses the augmentation mode.

Saved programId's are loaded via the "Load PID's" button at bottom of the TV Search tab. A message giving the count of loaded programId's pops up. (If there are no saved programId's for the series, the count will be 0.) The matching seriesId values are populated when each saved programId is loaded.

The issues of (1) handling anthology series multiple seriesId's and (2) no quick way to get programId's for episodes not already saved are not addressed by this mod. However you can incrementally save different season's programId's after doing the custom RPC search for that/those season's particular seriesId, and thus end up with a saved programId file that will load the correct programId's and seriesd's for the entire series.


----------



## Sparky1234

dlfl said:


> Try test distro Ver. 3.89T1 in attached zip.
> Ver. 3.89T1 (26 March 2019)
> * Enhanced*: Can save and load previously determined programId's (and matching seriesId's).
> 
> I couldn't resist programming this and it turned out to be less effort than I had guessed.
> Known programId's are stored in the "programIds" subfolder of the MG3 appdata folder. Each series has a file entitled <series name>.txt.
> 
> programId's are saved via right-clicking in the series episode tree on either the entire series node or on a season node. For the entire series case you are asked if you want to augment or replace any existing saved file. Only non-empty programId's are saved. Note this means if you save without having populated any programId's and choose to replace the file, the saved file will be cleared of all programId's. (This is how you can forget all previously saved programId's for the series.) For season node saves it uses the augmentation mode.
> 
> Saved programId's are loaded via the "Load PID's" button at bottom of the TV Search tab. A message giving the count of loaded programId's pops up. (If there are no saved programId's for the series, the count will be 0.) The matching seriesId values are populated when each saved programId is loaded.
> 
> The issues of (1) handling anthology series multiple seriesId's and (2) no quick way to get programId's for episodes not already saved are not addressed by this mod. However you can incrementally save different season's programId's after doing the custom RPC search for that/those season's particular seriesId, and thus end up with a saved programId file that will load the correct programId's and seriesd's for the entire series.


Will future program upgrades overwrite my seriesId and programId files? Considering how I could preserve my edited / customized seriesId and programId files.

Looking forward to trying this new upgrade! Thanks!


----------



## dlfl

Sparky1234 said:


> Will future program upgrades overwrite my seriesId and programId files? Considering how I could preserve my edited / customized seriesId and programId files.
> 
> Looking forward to trying this new upgrade! Thanks!


The new saved programId files are purely local, created and managed by the local user, and will not be impacted by installing a new distribution version. The behavior of known seriesId files, which are separate and distinct from the saved programId files, has not changed.

Actually, saved programId files could be manually shared by users who trust each other. The shared file(s) would be placed in the "programIds" subfolder of MG3's appdata folder. Behavior would then be identical to the situation where the local user saved the file(s).


----------



## p1ague

dlfl said:


> This would have to be done on a user-selected basis. Saving all programId's ever found would be likely to use too much disk space.
> 
> With a rather significant programming effort MG3 could save and reload programId's that have already been found. However I currently have no RPC search algorithm for quickly finding programId's for just the most recent one, or several, episodes of an ongoing series -- and I doubt I could come up with one. Thus updating those would require repeating the lengthy search over all series episodes.
> 
> I looked at Sesame Street and I don't know where you would get programId's for most of its episodes. Are you able to do that?
> 
> MG3 seems to do an excellent job finding programId's for SNL provided you use S/E matching. This is a case where having saved previously searched ProgramId's would save a lot of time, provided you weren't looking for a recent episode from a date following the last time you did the full search.
> 
> How are you getting programId's for Marvel's Avengers Assemble and American Crime Story? I had little to no success using MG3. Having saved previously searched results would help in these cases but where do you get them to begin with?


Sorry I dropped a bomb like that and then forgot to check in for a while; I want to address those questions even though it's mostly moot by now. Yes, I usually can get pid's for sesame street episodes, but I don't know about for "most of them" as I've only ever needed like season 44 and newer. It takes a long, long time "working" and then I have to X out the list of stuff it couldn't find, because the OK button is unreachable.

The answer for those anthology/weird-named series is basically "trial and error." It helps to look up the episode I want to find on the website, which gives me good keywords to use for override title in MG3, and then I usually find the right override/description to give me green for one season. (E.g. for the most recent, 5th season of Avengers, I put "Panther's Quest" in the override window to match the episode titles--because I lazily optimize and it's yadayada black panther's quest.) Rinse and repeat for a different season if needed..

(EDIT: I stand corrected; I don't know how much this truly matters to anybody, but it was significantly more complicated than I remembered to get other seasons. Trial and error did lead me to locate "Avengers: Secret War" for season 4, but I had to resort to searching for the first credited actor, Adrian Pasdar, and clicking each of the "Marvel's Avengers: Ult..." links in his TV credits until I found the one that was for the English version, to find that the first 3 seasons are all found under the "Marvel's Avengers: Ultron Revolution" deep search result that starts with "Superheroes Iron Man, Thor..."--that's all you get to pick your match, is maybe 3 words of the description if you're lucky.)


----------



## dlfl

p1ague said:


> ........ Yes, I usually can get pid's for sesame street episodes, but I don't know about for "most of them" as I've only ever needed like season 44 and newer. It takes a long, long time "working" and then I have to X out the list of stuff it couldn't find, because the OK button is unreachable.
> ........


Have to confess I don't understand what you're saying here. What screen are you talking about? What do you mean by "X out"? Can you give me step-by-step instructions of how to get to this situation?


----------



## dlfl

p1ague said:


> &#8230;&#8230;&#8230;&#8230;...
> The answer for those anthology/weird-named series is basically "trial and error." It helps to look up the episode I want to find on the website, which gives me good keywords to use for override title in MG3, and then I usually find the right override/description to give me green for one season. (E.g. for the most recent, 5th season of Avengers, I put "Panther's Quest" in the override window to match the episode titles--because I lazily optimize and it's yadayada black panther's quest.) Rinse and repeat for a different season if needed..
> 
> (EDIT: I stand corrected; I don't know how much this truly matters to anybody, but it was significantly more complicated than I remembered to get other seasons. Trial and error did lead me to locate "Avengers: Secret War" for season 4, but I had to resort to searching for the first credited actor, Adrian Pasdar, and clicking each of the "Marvel's Avengers: Ult..." links in his TV credits until I found the one that was for the English version, to find that the first 3 seasons are all found under the "Marvel's Avengers: Ultron Revolution" deep search result that starts with "Superheroes Iron Man, Thor..."--that's all you get to pick your match, is maybe 3 words of the description if you're lucky.)


I was able to duplicate your search for the 5th season (Panther's Quest) and saved the programId's for that season using the right-click menu on the season node in the tree. The attached file can be put in the "programIds" subfolder of your MG3 appdata folder and then if you search for "Marvel's Avengers Assemble" and click the "Load PIDs" button it will populate the programId's (and seriesId's) for that season's episodes. The same thing could be done with other seasons to build up a saved programId's file that covers more (or all) seasons. Note you may have to create the programId's subfolder if MG3 hasn't already automatically done that. Using this technique you would gain the ability to essentially instantaneously populate the programId's for the entire series without having to redo the time-consuming RPC searches (except to update for newly aired episodes).

When doing an RPC search to update newly aired episode(s) the "Use Previou seriesId" button will work and avoid having to redo the seriesId search -- provided the last seriesId search you did for this series was for the most recent season --* or* there is only one seriesId for the entire series. The remembered seriesId value will pop up if you hover the mouse over the "Use Previous serieId" button. The RPC search using the remembered seriesId for the 5th season only takes about 6 secs on my setup. (But for a larger series like NCIS it takes 2.5 mins.)


----------



## Sparky1234

Can I save my self created seriesID? I use unique TS and 8 digits rather than SH to put various kids TV and movie programs into the same folder on TiVo. Makes it easier for the little ones to find their shows.... I know this is beyond the scope of your program but your thoughts would be appreciated.


----------



## dlfl

Sparky1234 said:


> Can I save my self created seriesID? I use unique TS and 8 digits rather than SH to put various kids TV and movie programs into the same folder on TiVo. Makes it easier for the little ones to find their shows.... I know this is beyond the scope of your program but your thoughts would be appreciated.


MG3 allows you to set the seriesId's for a season or for an entire series. However it will only accept those beginning with SH. I suppose this constraint could be eliminated.

There is no way to enter a custom seriesId for movies in MG3 -- just have to edit the metadata .txt file.


----------



## p1ague

dlfl said:


> Have to confess I don't understand what you're saying here. What screen are you talking about? What do you mean by "X out"? Can you give me step-by-step instructions of how to get to this situation?


I'm talking about the window that pops up after you get PIDs and wait for "Working..." to finish; it pops up a new window with search results and a list of matches it couldn't find or didn't use because they matched more than one episode, which isn't resizable or scrollable. That usually doesn't matter, but it's significantly bigger than my monitor for Sesame Street. NBD


----------



## dlfl

p1ague said:


> I'm talking about the window that pops up after you get PIDs and wait for "Working..." to finish; it pops up a new window with search results and a list of matches it couldn't find or didn't use because they matched more than one episode, which isn't resizable or scrollable. That usually doesn't matter, but it's significantly bigger than my monitor for Sesame Street. NBD


For Sesame Street that huge list of errors comes when you use "Episode Titles" matching mode in your RPC search. Isn't the little 'x' for closing the message box showing at upper right of the window? If you use "Season/Episode Numbers" matching mode the error message window is much smaller. However, the two modes give different programId results for many episodes, and unfortunately neither result set is particularly accurate for this series. This is because of numerous inconsistencies between theTVDB and TiVo assignments of S/E numbers, plus some titles that are not identical and are duplicated across seasons, also. Such inconsistencies are particularly common for PBS series.

I did some detailed analysis of Seasons 44 and 45 and there are numerous such inconsistencies. Thus regardless of which matching mode you use, you need to right-click on each episode in the tree that you care about and select "Get programId" to either verify the choice already made or select the best one. If you do that for every episode in a season and then right-click the season node and select "Save Season PID's", then the verified/corrected programId's for that season can be loaded later (without a time-consuming RPC search). Of course if you only need to access the programId one time for each episode, or the episode is a newly aired one, this doesn't help you.


----------



## dlfl

Try test distro 3.89T3 in attached zip
*EDIT:* Attachment removed. Superseded by 3.89 release.
*NOTE:* If don't have python 2.x installed, you must download rpcSearch128.zip and extract *rpcSearch128.exe* into your MG3 runtime folder to support RPC programId searches. *The previous version (rpcSearch127.exe) will not work correctly with this test distro.*

rpcSearch128.zip

Ver. 3.89T3 (1 April 2019)
*Enhanced:* RPC programId search can be limited to episodes in a specific (TiVo) original air year.
*Fixed:* List of duplicates in RPC search results could cause window to exceed screen height. List is limited to 30 items now.

On the programId Search Setup form there is a text entry box just above the bottom row of buttons in which you can enter a year (e.g., 2018). The RPC programId search will find only those episodes that TiVo considers to have been first aired during the specified year. If you put "all" in the text box, or blank it out, the search will cover the entire series as before. For huge series (e.g., Sesame Street or NCIS), limiting to just a year leads to a *major* reduction in search time. (To determine what year to use to catch a particular episode, just select the episode details and observe the Original Air Date.)


----------



## Sparky1234

Wow! Some great improvements here! This program keeps getting better and better. Thanks.


----------



## dlfl

Ver. 3.89 has been released. See first post for download and changes. This version is functionally identical to test version 3.89T3. If you don't have python installed, be sure to replace rpcSearh127.exe with rpcSearch128.exe -- download link in first post.


----------



## elprice7345

@dlfl - Sorry to be AWOL for a while. I've tested 3.89. Everything works fine and I like the changes!

I was able to build a PID file for anthology series using your suggested technique:


dlfl said:


> The issues of (1) handling anthology series multiple seriesId's and (2) no quick way to get programId's for episodes not already saved are not addressed by this mod. However you can incrementally save different season's programId's after doing the custom RPC search for that/those season's particular seriesId, and thus end up with a saved programId file that will load the correct programId's and seriesd's for the entire series.


That's a good workaround for me. I would still love to see the anthology issue addressed if you ever feel up to it. 

I cleaned up my knownSeriesIds.txt file. It had some outdated TVDB series titles, duplicates, etc. Can you replace your version with this version in the next update?


----------



## elprice7345

Anyone else getting this tonight from MG3?
RPC Error getting programIds
RPC Check TiVo credentials


----------



## Sparky1234

elprice7345 said:


> Anyone else getting this tonight from MG3?
> RPC Error getting programIds
> RPC Check TiVo credentials


Yes. Same with pyTivo.


----------



## elprice7345

Sparky1234 said:


> Yes. Same with pyTivo.


Mine cleared up late last night and is still working this morning ... probably a TiVo server glitch/outage.

@Sparky1234 - What did you mean by "Same with pyTivo"?


----------



## Sparky1234

elprice7345 said:


> Mine cleared up late last night and is still working this morning ... probably a TiVo server glitch/outage.
> 
> @Sparky1234 - What did you mean by "Same with pyTivo"?


Searches on pyTiVo returned the same error. Both appear to be working now. Also suspect TiVo server issue.


----------



## OKCRandy

Where does Meta Generatior 3 store previously found series IDs? I have tried to figure it out with no luck.


----------



## dlfl

OKCRandy said:


> Where does Meta Generatior 3 store previously found series IDs? I have tried to figure it out with no luck.


Open a command line window and enter:
echo %APPDATA%\metagenerator
That will display the folder path where all the MG3 configuration and data is located.
The seriesId's are in text file knownSeriesIds.txt
Warning: mess with this file at your own risk. Simply deleting a line is safe to do. Best to save off a copy before attempting any editing.


----------



## OKCRandy

dlfl said:


> Open a command line window and enter:
> echo %APPDATA%\metagenerator
> That will display the folder path where all the MG3 configuration and data is located.
> The seriesId's are in text file knownSeriesIds.txt
> Warning: mess with this file at your own risk. Simply deleting a line is safe to do. Best to save off a copy before attempting any editing.


Thank you very much.


----------



## p1ague

dlfl said:


> For Sesame Street that huge list of errors comes when you use "Episode Titles" matching mode in your RPC search. Isn't the little 'x' for closing the message box showing at upper right of the window? If you use "Season/Episode Numbers" matching mode the error message window is much smaller. However, the two modes give different programId results for many episodes, and unfortunately neither result set is particularly accurate for this series. This is because of numerous inconsistencies between theTVDB and TiVo assignments of S/E numbers, plus some titles that are not identical and are duplicated across seasons, also. Such inconsistencies are particularly common for PBS series.
> 
> I did some detailed analysis of Seasons 44 and 45 and there are numerous such inconsistencies. Thus regardless of which matching mode you use, you need to right-click on each episode in the tree that you care about and select "Get programId" to either verify the choice already made or select the best one. If you do that for every episode in a season and then right-click the season node and select "Save Season PID's", then the verified/corrected programId's for that season can be loaded later (without a time-consuming RPC search). Of course if you only need to access the programId one time for each episode, or the episode is a newly aired one, this doesn't help you.


Sorry, I've actually been checking in since the last time, but apparently only when I was too tired to read carefully, so my responsiveness didn't improve at all! Didn't notice there was a question in there: Yes, the 'X' does show at the upper right, which is why it's no big deal that I can't see the last half of the list or the OK button. I guess it's just slightly uncomfortable to do that since sometimes in other programs it's bad to dismiss a dialog that way; doesn't hurt anything here.

Regarding the right-click search, I'll bet I've got a lot of botched entries because I didn't bother with that, but when I do I'm very happy with its results. Sometimes I wish I could browse more between whatever the SID search is finding and whatever that PID one is finding, and tweak searches based on what they see.. but that's a pretty significant departure from these functions, maybe it's the project for me to finally cut my programming teeth on.

Maybe it all grows moot, though. I'm not sure if anybody else is seeing this, or if it's related to the things mentioned from back in May, but it seems like maybe something has recently changed majorly with the whole database. Lately it's slower, seems to give a lot of authentication and time-out errors, and when I do get results, they frequently don't make sense. Like, I'm pretty sure there is no Spongebob episode with cursing in the title, but.. 
_Hmm, well I may have partially explained that when I tried a few other things to remind me what's happening so I can write it down. Seems that for Spongebob, for example, the right-click search shows a list of potential matches based on whatever series I looked at last *before* trying to load spongebob. This time I searched "friends" just as a baseline to see if it had problems with PIDs there, and it did but got a few. Then in spongebob, the search for PIDs times out and claims my credentials are wrong, and a right-click gives me a bunch of suggested matches that all start with "The one with the..." A different list for each episode, even though I can't at all discern what makes any of the titles similar _


----------



## elprice7345

@p1ague - I've noticed a few of those error over the last couple of weeks. They seem to be intermittent and usually go away for me if I just rerun the action.

Not sure what's going on and they aren't happening regularly enough for me to troubleshoot or detect a pattern.


----------



## dlfl

If RPC (programId and seriesId) searches work most of the time, then occasional credential errors have to be due to TiVo server problems.


----------



## Cypher129

Leon The Professional 1994 with Natalie Portman. Can not retrieve program ID. Where is the program id source located? Is there a way for us to look this up without MeteGenerator?


----------



## dlfl

Cypher129 said:


> Leon The Professional 1994 with Natalie Portman. Can not retrieve program ID. Where is the program id source located? Is there a way for us to look this up without MeteGenerator?


The programId comes from a tivo server via a pretty complicated piece of programming. I'm not aware of any manual way of getting it. Another program, kmttg, can be used to search for it:
New program for 1 step TTG downloads, decryption, encoding - kmttg


----------



## elprice7345

Cypher129 said:


> Leon The Professional 1994 with Natalie Portman. Can not retrieve program ID. Where is the program id source located? Is there a way for us to look this up without MeteGenerator?


I can't find it either using both MG3 and kmttg.

If the movie isn't available linearly or on one of the streaming services TiVo uses (Netflix, HBO, SHO, etc.), it won't be in the TiVo catalog and therefore TiVo won't have created a programId for the movie.

You can still pull it to your TiVo and watch it and it will have the metadata that pytivo transfers. The primary thing missing will be the pretty cover art.


----------



## p1ague

elprice7345 said:


> I can't find it either using both MG3 and kmttg.
> 
> If the movie isn't available linearly or on one of the streaming services TiVo uses (Netflix, HBO, SHO, etc.), it won't be in the TiVo catalog and therefore TiVo won't have created a programId for the movie.
> 
> You can still pull it to your TiVo and watch it and it will have the metadata that pytivo transfers. The primary thing missing will be the pretty cover art.


That depends what kind of tivo you have. The name will also be missing on the newer ones, it may not even be willing to put it in your list at all. (I found a movie in the Tivo d/b named "Movie" and set pytivo to use info from that as default, so anything that's missing, Tivo doesn't actually see it missing, and that makes it show up as "Movie," but before that it wouldn't work. If I transfer multiple files that all have the data missing, the TiVo shows all data based on whichever one was first and ignores the rest, so they all go in a folder together with the same description, and you must figure out which is which from the length or from the video itself.)

For Leon, the series ID is going to be 354779110 so I guess "seriesId : MV0354779110". I found it by the method I described earlier, with TiVo online. Had to use the second search match for "Peter Appel", as none of the top-billed cast had credits stretching back that far. I still don't know how to get the second half of the number for the PID, sometimes it works to just use the same # again (e.g. programId : MV0354779110-0354779110 ,) but not always. The second most common is first# +1, (e.g. programId : MV0354779110-0354779111).
http://online.tivo.com/start/info/tivo:cl.354779110


----------



## p1ague

Also, if you get stuck with the Hydra interface, it won't play things at all without a good PID entry. (I know you can't transfer files using Hydra regardless, but most things you can at least transfer to a different TiVo without it, then view with MRV on the Hydra-crippled one.)


----------



## p1ague

elprice7345 said:


> @p1ague - I've noticed a few of those error over the last couple of weeks. They seem to be intermittent and usually go away for me if I just rerun the action.
> 
> Not sure what's going on and they aren't happening regularly enough for me to troubleshoot or detect a pattern.


Yeah, that's not really what I'm talking about though. I mean, I do get those intermittent errors too, I think it's just the server isn't especially responsive to API calls. But the ones I'm referring to are much more consistently broken.

With a bit more experience now, it seems like maybe it's only the kids' cartoons, maybe they've completely changed the DB or I don't know what. But I can't get PIDs for Spongebob Squarepants, or Amazing World of Gumball, to name a couple. They always display the same behavior; looking for RPC PIDs does bring up a list of potential show matches, but when you select the SID in question, it times out after "Working..." for about 3 minutes, says that there was an error and to check your credentials (or just RPC: timed out"), and that it couldn't find matches for (not always everything, but anything it does match is SUPER wrong, like the aforementioned friends episode titles; it seems to match the episodes of this series against whatever you last retrieved successfully.) Or sometimes it says "RPC returned nothing".

I'm totally grasping at straws here, but one thing I know about those shows is that they SUCK for naming things. Usually for TiVo purposes every episode is 2 episodes according to anal TVDB folks. And although sometimes Spongebob used to have frequent pairings, they are completely random which 2 TVDB episodes will get paired, so there's a TON of potential combinations; you'll sometimes get 100 shows that are all "different episodes" but have at least one 'episode' in common. So it's quite possible that is borking the search function with thousands of potential matches, but I don't know why it suddenly started doing that recently, to the same code that used to be able to extract something usable out of it.


----------



## dlfl

@p1ague Be sure you have Ver 3.89 of MG3. And if you don't have Python installed be sure you have downloaded rpcSearch128.zip and placed rpcSearch128.exe in the MG3 runtime folder.


----------



## p1ague

Ohhh, I still had rpcsearch127.py.. that might be it, sorry!


----------



## dlfl

p1ague said:


> Ohhh, I still had rpcsearch127.py.. that might be it, sorry!


Having rpcSearch127.py (or rpcSearch127.exe) hanging around isn't a problem. But NOT having rpcSearch128.py or rpcSearch128.exe (depending on whether you have python installed) IS a problem, IF you are using MG3 ver. 3.89. (And I don't support any release versions older than the current one.)


----------



## elprice7345

@p1ague Maybe you've fixed you problems by updating to rpcSearch128.exe, but I thought I would add my experience. Hopefully, it helps.

I was able to find programIds for "Spongebob Squarepants" and have attached my programId file to this post FWIW. I used the seriesId SH0000470989. It took a long time, no more than other series with many episodes, but I got results.

Curiously MG3 matched to seriesIds, SH0000470989 (used above) and SH0392630719. Although, SH0392630719 only found 1 programId.

kmttg only found episodes with seriesId SH0000470989.

MG3 matched "Amazing World of Gumball" to seriesIds SH0181502867 and SH0406173706. seriesIds SH0181502867 timed out while searching during multiple attempts. MG3 did find 2 programIds with seriesId SH0406173706.

Kmttg only found episodes with seriesId SH0181502867.

@dlfl - I'm not sure why MG3 is finding programIds for "Spongebob Squarepants" and not "Amazing World of Gumball"? Any thoughts?


----------



## p1ague

Yeah, I mean I _only_ had 127, and that change has been everything I needed so far looks like. I was able to completely fill spongebob from s1e1 to today, even all the ones that TVDB puts in "season 0" with a footnote about what episode it actually is to non-sticklers.

But yes, I get those same results re: spongebob vs. gumball. My only guess is that gumball is much, much, MUCH worse about scattering their names across hundreds of "different episodes" and it literally is just straight up timing out before it finishes trying to match them all. That's just a wild guess, however, and it doesn't seem like that would explain timing out even if you just go with "Season/Episode numbers" to match, which should be much more straightforward.. It turned out I didn't actually have any gumball episodes that need metadata I can't extract from the tivo for now, though, so it's kinda moot for me now. I guess if I really needed them, I would just go with Kevin's "export episode data as csv" in kmttg and then try to pick out meaningful matches by eye and regex to copy-paste PIDs for. I had to resort to that method to complete "Hunter X Hunter" and "Jojo's Bizarre Adventure" because both those series have very sloppy middlemind data. Was still able to get like 70-80% to match straight up, though.

BTW, @elprice7345 if you right click and view what it's actually matching against, you'll probably find that the handful of episodes MG3 _did_ "find" after timing out on gumball, it didn't really find meaningful matches, just decided some episode titles of whatever other series was in the previously cached results were "close enough". And it's pretty amazing that MG3 was able to pull up that 392630719 pid, because it appears to be just some kind of orphan placeholder for the idea of spongebob. ("All Episodes"--including ones that aren't available, has one entry with no title.)


----------



## p1ague

I guess I should clarify that statement just a tad, on rereading, @dlfl.. I was in fact still using 3.89_T1_, and hadn't really noticed you finalized it with more than just removing the tentativeness or that I had missed the final version, but seeing rpcsearch 127 vs 128 was what finally tripped the sensors.


----------



## p1ague

As I've played more with MG3 and online.tivo.com, I seem to have come across something interesting.. It _could_ just be a coincidence, but several times now, MG3 has come back with nothing, I've looked up the show or movie on the website to make sure I know what it is (or track it down by searching principal cast members until I find it referenced indirectly even though it doesn't come up in search,) and then MG3 gets a PID almost immediately if I search again, like somehow the RPC from python is affected by what I've been browsing, and caches up results that weren't available before I made the TiVo DB "remember" them.. (to address one possible question: No, I am not usually logged into the web site when doing this. Sometimes I'm even going through a VPN, so my source IP isn't necessarily matching an active TiVo--other than whatever rpcSearch masquerades as--either.)


----------



## elprice7345

I would like someone to validate that this issue isn't just with me &#8230;

I added an episode to TVDB on 10/25: Engineering Catastrophes-S03E06-Terror in Tacoma here: Engineering Catastrophes - Season 3 @ TheTVDB

I can see the episode on TVDB, but MG3 doesn't see the episode.

Any ideas why that might be? @dlfl - can you test?

Can anyone else confirm MG3 retrieves the episode?

If MG3 is functioning correctly, I'll raise the issue with TVDB and see what happens.


----------



## dlfl

elprice7345 said:


> I would like someone to validate that this issue isn't just with me &#8230;
> 
> I added an episode to TVDB on 10/25: Engineering Catastrophes-S03E06-Terror in Tacoma here: Engineering Catastrophes - Season 3 @ TheTVDB
> 
> I can see the episode on TVDB, but MG3 doesn't see the episode.
> &#8230;.. .


theTVDB.com is returning only episodes through S3E3 in the JSON response from the API, which MG3 uses. I do note 2 irregularities that might be a clue:
On theTVDB.com website the Tacoma episode is listed as #4, NOT #6. And the date is given as 10/23 rather than 10/25.


----------



## elprice7345

dlfl said:


> theTVDB.com is returning only episodes through S3E3 in the JSON response from the API, which MG3 uses. I do note 2 irregularities that might be a clue:
> On theTVDB.com website the Tacoma episode is listed as #4, NOT #6. And the date is given as 10/23 rather than 10/25.


Sorry @dlfl my post had a typo and was slightly misleading.

I should have referenced "Engineering Catastrophes-S03E04-Terror in Tacoma" ... my bad. 

I created the episode on 10/25 with an OAD of 10/23.

Thanks for the info! I'll raise the issue in the TVDB forums and post the link back here.


----------



## elprice7345

elprice7345 said:


> I would like someone to validate that this issue isn't just with me &#8230;
> 
> I added an episode to TVDB on 10/25: Engineering Catastrophes-S03E04-Terror in Tacoma here: Engineering Catastrophes - Season 3 @ TheTVDB
> 
> I can see the episode on TVDB, but MG3 doesn't see the episode.
> 
> Any ideas why that might be? @dlfl - can you test?
> 
> Can anyone else confirm MG3 retrieves the episode?
> 
> If MG3 is functioning correctly, I'll raise the issue with TVDB and see what happens.


Well, the episode finally showed up in MG3 this morning.

I suppose it was some sort of caching issue on their side.

Thanks for looking into it @dlfl!


----------



## dlfl

elprice7345 said:


> Well, the episode finally showed up in MG3 this morning.
> 
> I suppose it was some sort of caching issue on their side.
> 
> Thanks for looking into it @dlfl!


They may have a batch process that transfers stuff from web site server to the API server. It may have failed to run over the weekend.


----------



## elprice7345

dlfl said:


> They may have a batch process that transfers stuff from web site server to the API server. It may have failed to run over the weekend.


Could be ...

This is the 1st episode since they moved to API v2 that I've seen this ... hopefully just a glitch.

Every update since the upgrade until this episode updated almost instantly.


----------



## csell

I know a few others have posted this, but I wanted to see if anyone has any clues. This is very frustrating...

When trying to get the tivo metadata / series IDs, I keep getting the "Error getting series ID. RPC: Check Tivo Credentials". Everything is entered correctly in the Mind RPC settings (I've verified this over and over.) and I have the latest version of the app. This hasn't worked in months. Any thoughts????


----------



## dlfl

csell said:


> I know a few others have posted this, but I wanted to see if anyone has any clues. This is very frustrating...
> 
> When trying to get the tivo metadata / series IDs, I keep getting the "Error getting series ID. RPC: Check Tivo Credentials". Everything is entered correctly in the Mind RPC settings (I've verified this over and over.) and I have the latest version of the app. This hasn't worked in months. Any thoughts????


AFAIK you are the only one having this problem. There have been no other recent complaints and when they did happen months ago it was a problem with the TiVo servers, which didn't last long.

Are you using the latest MG3 version (3.89)? Do you have Python installed, or have you placed rpcSearch128.exe in the runtime folder? Be sure to read all the instructions regarding installation in the first post.


----------



## OKCRandy

Is it possible to edit the template to add fields for the call sign and channel number? I know I can edit the text file but just wondering if this information could just be entered into MetaGenerator Version 3.


----------



## dlfl

OKCRandy said:


> Is it possible to edit the template to add fields for the call sign and channel number? I know I can edit the text file but just wondering if this information could just be entered into MetaGenerator Version 3.


Do you want this for both series and movies?


----------



## OKCRandy

dlfl said:


> Do you want this for both series and movies?


It would be a nice option. I was just curious about adding the option.


----------



## dlfl

OKCRandy said:


> Is it possible to edit the template to add fields for the call sign and channel number? I know I can edit the text file but just wondering if this information could just be entered into MetaGenerator Version 3.


I may not have understood your request. The only _templates_ used in MG3 are those for defining metadata-based output folder and file naming. I assumed those were NOT what you're talking about, correct? It might help for you to be more specific about the functionality you desire, rather than me guessing.


----------



## Sparky1234

dlfl said:


> I may not have understood your request. The only _templates_ used in MG3 are those for defining metadata-based output folder and file naming. I assumed those were NOT what you're talking about, correct? It might help for you to be more specific about the functionality you desire, rather than me guessing.


MG3 is a terrific program! Keep up the fantastic work on it!!! Thanks you.


----------



## elprice7345

Today, MG3 stopped working for me when I'm connected through my VPN.

I get the error: "Search Error: Not Found"

If I turn my VPN off, MG3 works fine.

It seems to be some sort of TVDB certificate issue which I posted about here: TVDB Stopped Working Via VPN - TheTVDB.com

Is anyone else experiencing this issue?

@dlfl - can you shed any light on the issue?


----------



## dlfl

Sorry, I can't help on this. I don't use a VPN.


----------



## csell

dlfl said:


> AFAIK you are the only one having this problem. There have been no other recent complaints and when they did happen months ago it was a problem with the TiVo servers, which didn't last long.
> 
> Are you using the latest MG3 version (3.89)? Do you have Python installed, or have you placed rpcSearch128.exe in the runtime folder? Be sure to read all the instructions regarding installation in the first post.


I am using the latest version. I have tried it with Python installed as well as with rpcSearch128.exe in the runtime folder. Same error with both. As far as reading the instructions, are you referring to post #125. Besides that, not too many instructions. I basically unzip the file and ran the exe as administrator. Setup my login info and then selected the show and then clicked "Get RPC PIds" ... I have been using the program since nearly its beginning and only started having this problem a few months ago. I really rely on this awesome program but am frustrated with this! Username (email address) and password are correct. Tested by logging into tivo.com. TSN is correct as I copied and pasted from Tivo's site. Not sure what else to check or test.

Thanks


----------



## dlfl

csell said:


> I am using the latest version. I have tried it with Python installed as well as with rpcSearch128.exe in the runtime folder. Same error with both. As far as reading the instructions, are you referring to post #125. Besides that, not too many instructions. I basically unzip the file and ran the exe as administrator. Setup my login info and then selected the show and then clicked "Get RPC PIds" ... I have been using the program since nearly its beginning and only started having this problem a few months ago. I really rely on this awesome program but am frustrated with this! Username (email address) and password are correct. Tested by logging into tivo.com. TSN is correct as I copied and pasted from Tivo's site. Not sure what else to check or test.
> 
> Thanks


Curious why you run it as administrator. Are you running from a non-administrator login?

Are you entering your TSN with or w/o the dashes? Try the opposite way. I don't have convenient access to check the code or program at the moment.


----------



## csell

dlfl said:


> Curious why you run it as administrator. Are you running from a non-administrator login?
> 
> Are you entering your TSN with or w/o the dashes? Try the opposite way. I don't have convenient access to check the code or program at the moment.


It didn't working running it normally, so I decided to try running as administrator. Same result either way..... I cut and pasted the the TSN which included dashes. But the program removes the dashes. The TSN is correct (minus the dashes). I don't know much about how the program works, but it seems like it makes an API call to a Tivo server, correct? I used Fiddler to see I could see any calls being made, but it did not pick anything up. So either Fiddler can't pick up calls from the program or the program is failing to make the call for some reason.


----------



## dlfl

Do you normally run on an administrator account/login? If not could you try logging in to an adminstrator account then run MG3 -- As a test? Should not need to run as administrator for that test.


----------



## csell

dlfl said:


> Do you normally run on an administrator account/login? If not could you try logging in to an adminstrator account then run MG3 -- As a test? Should not need to run as administrator for that test.


I've tried this on two different machines - one I run as administrator. Runnning as an administrator or not isn't making a difference. I just tried - no luck. What server is it trying to access? I use OpenDNS which would show me all domains that I'm calling.


----------



## csell

dlfl said:


> Do you normally run on an administrator account/login? If not could you try logging in to an adminstrator account then run MG3 -- As a test? Should not need to run as administrator for that test.


There were 3 calls to middlemind.tivo.com which I believe is what the app uses. But of course those calls could have been from the Tivo box.


----------



## csell

So I ran fiddler again and ran the MG3 app. Did a search for a show and Fiddler showed calls to "api.thetvdb.com". Then I attempted to get the series Id through the "Do series RPC Search" and Fiddler does not pickup anything at all. So for whatever reason, it's not able to make the middlemind.tivo.com call.


----------



## dlfl

csell said:


> There were 3 calls to middlemind.tivo.com which I believe is what the app uses. But of course those calls could have been from the Tivo box.


Middlemind is what is used for the RPC searches for seriesID and programID. The TVDB api server is used for all other metadata for TV Series.


----------



## dlfl

I just processed a few shows, including RPC searches, to verify the servers were responding.


----------



## dlfl

@csell Don't know if this matters but check the "Device Preferences" for your TiVo in your account. If not already checked, try checking both "Video Sharing" and "Enable Video Downloads".

I don't know how to proceed on your issue. Again, AFAIK you are the only user affected. So there must be something different about your setup.


----------



## csell

dlfl said:


> @csell Don't know if this matters but check the "Device Preferences" for your TiVo in your account. If not already checked, try checking both "Video Sharing" and "Enable Video Downloads".
> 
> I don't know how to proceed on your issue. Again, AFAIK you are the only user affected. So there must be something different about your setup.


Those settings were both set.

Thanks for all of your effort. A few final questions:

1. Does the program communicate with the Tivo? I want to test it on another computer outside of my network (meaning the Tivo would not be on the network). Should that work.

2. If you run a program like Fiddler that catches all network calls, should you expect to see calls from not only "api.thetvdb.com" but also "middlemind.tivo".

That's it. Like I said, I've been using the program along with pyTivo for many, many years (that's the reason I won't upgrade my Tivo since pyTivo won't work). I'll keep working on it until I figure it out.

Thanks


----------



## dlfl

csell said:


> Those settings were both set.
> 
> Thanks for all of your effort. A few final questions:
> 
> 1. Does the program communicate with the Tivo? I want to test it on another computer outside of my network (meaning the Tivo would not be on the network). Should that work.
> 
> 2. If you run a program like Fiddler that catches all network calls, should you expect to see calls from not only "api.thetvdb.com" but also "middlemind.tivo".
> 
> That's it. Like I said, I've been using the program along with pyTivo for many, many years (that's the reason I won't upgrade my Tivo since pyTivo won't work). I'll keep working on it until I figure it out.
> 
> Thanks


1. I believe it communicates with the TiVo middlemind server, which communicates with the TiVo, although perhaps not simultaneously.
2. As stated in post #418:
"Middlemind is what is used for the RPC searches for seriesID and programID. The TVDB api server is used for all other metadata for TV Series."

If the "check credentials" error is what you always get it means the connection to Middlemind could not be authorized with your credentials. Connection is established each time your do a RPC search operation, not just at the start of the program.


----------



## Sparky1234

dlfl said:


> I just processed a few shows, including RPC searches, to verify the servers were responding.


Still working great here!


----------



## csell

dlfl said:


> If the "check credentials" error is what you always get it means the connection to Middlemind could not be authorized with your credentials.


The odd thing is I do not see a call being made to the middlemind web service. Fiddler is not picking that up, but it does pick up the other API being called.

Just to be sure - the login credentials are identical to that you use to log into your tivo.com site / account, correct? I have copied and pasted the values from the app into the tivo.com web site and it works (you can do that since the app does not hide the password).


----------



## elprice7345

elprice7345 said:


> Today, MG3 stopped working for me when I'm connected through my VPN.
> 
> I get the error: "Search Error: Not Found"
> 
> If I turn my VPN off, MG3 works fine.
> 
> It seems to be some sort of TVDB certificate issue which I posted about here: TVDB Stopped Working Via VPN - TheTVDB.com
> 
> Is anyone else experiencing this issue?
> 
> @dlfl - can you shed any light on the issue?


It turns out the TVDB had some DNS issues yesterday and all is well now.

See subsequent posts in my link above.


----------



## dlfl

csell said:


> The odd thing is I do not see a call being made to the middlemind web service. Fiddler is not picking that up, but it does pick up the other API being called.
> 
> Just to be sure - the login credentials are identical to that you use to log into your tivo.com site / account, correct? I have copied and pasted the values from the app into the tivo.com web site and it works (you can do that since the app does not hide the password).


Yes, your understanding is correct.


----------



## Zaphod

It's been several months since I've used MetaGenerator and it has always worked in the past, but I just tried to use it and I'm getting the "Search error: Not Found" as mentioned in a previous post on TV searches. Movie searches work fine. I don't have VPN or anything like that as mentioned in the previous post. And the same thing is happening on multiple computers. My Tivo acct and TSN info are entered and correct (hasn't changed since I last used MetaGenerator). I don't have Python, but I do have the rpcsearch128.exe in the program folder. (I was previously using ver 3.83, but I've updated to 3.89 and same issue.)


----------



## elprice7345

Zaphod said:


> It's been several months since I've used MetaGenerator and it has always worked in the past, but I just tried to use it and I'm getting the "Search error: Not Found" as mentioned in a previous post on TV searches. Movie searches work fine. I don't have VPN or anything like that as mentioned in the previous post. And the same thing is happening on multiple computers. My Tivo acct and TSN info are entered and correct (hasn't changed since I last used MetaGenerator). I don't have Python, but I do have the rpcsearch128.exe in the program folder. (I was previously using ver 3.83, but I've updated to 3.89 and same issue.)


I'm having the same issue. I believe it is due to the TVDB converting from v2 to v3. Hopefully it will be back soon.

The issue I had earlier wasn't specific to my VPN use, but due to DNS issues they had.


----------



## Sparky1234

elprice7345 said:


> I'm having the same issue. I believe it is due to the TVDB converting from v2 to v3. Hopefully it will be back soon.
> 
> The issue I had earlier wasn't specific to my VPN use, but due to DNS issues they had.


It's working for me...


----------



## dlfl

elprice7345 said:


> I'm having the same issue. I believe it is due to the TVDB converting from v2 to v3. Hopefully it will be back soon.
> 
> The issue I had earlier wasn't specific to my VPN use, but due to DNS issues they had.


I just tried to go to the TVDB forum to find out what 'V3' is and was told my IP address has been permanently banned. I assume this will eventually get corrected but meanwhile could you fill me in on 'V3'?


----------



## OKCRandy

I am having the same issue. It was working earlier yesterday and then in the late afternoon it stopped working. "Search error: Not Found"


----------



## PSU_Sudzi

elprice7345 said:


> I can't find it either using both MG3 and kmttg.
> 
> If the movie isn't available linearly or on one of the streaming services TiVo uses (Netflix, HBO, SHO, etc.), it won't be in the TiVo catalog and therefore TiVo won't have created a programId for the movie.
> 
> You can still pull it to your TiVo and watch it and it will have the metadata that pytivo transfers. The primary thing missing will be the pretty cover art.


Sadly even with valid program IDs sometimes cover art is still missing. I'm not really sure why this is, you get a generic thumbnail, but if you click on "Explore this show", it takes you further into the menu and the cover art is there. Then backing out one level displays the generic thumbnail again. Haven't been able to figure out why its good for some but not others. Saving the cover art in the same folder as the movie and the text file does not work either as once there is a program ID, that is what TiVo uses for obtaining cover art.


----------



## dlfl

Please don't rush to report MG3 problems today. The TVDB website appears to be up and down. When I try to access their forum it's OK one minute then tells me my IP has been permanently banned the next minute.

I just was logged into the forum and tried to post. It said I was logged in and let me compose a post. Then when I hit submit it tells me I'm permanently banned (again). (If I'm banned then how is it I can log in?) Try again -- same result.


----------



## elprice7345

See this TVDB post here: API V2 broken today - TheTVDB.com

Looks like something with the API is broken and they're working on a fix.



dlfl said:


> I just tried to go to the TVDB forum to find out what 'V3' is and was told my IP address has been permanently banned. I assume this will eventually get corrected but meanwhile could you fill me in on 'V3'?


In my post, I was referring to the web site upgrade from v2 to v3. It went live this summer and failed miserably. They rolled back to v2 and are in the process of moving back to v3.


----------



## Sparky1234

elprice7345 said:


> See this TVDB post here: API V2 broken today - TheTVDB.com
> 
> Looks like something with the API is broken and they're working on a fix.
> 
> In my post, I was referring to the web site upgrade from v2 to v3. It went live this summer and failed miserably. They rolled back to v2 and are in the process of moving back to v3.


I must be lucky as it has been working fine for me, hitting the site at just the right times when it's up. Lottery ticket anyone?


----------



## elprice7345

MG3 is still not able to get any results from TVDB for me today. TMDB works fine.

Is this still a problem for others?

@dlfl - Is it time to investigate if any changes are required on the MG3 side?

I see questions on the TVDB forum about API keys, 401 errors, 301 errors, etc. and I don't know enough to determine if TVDB made some changes that MG3 needs to adapt to or if its a glitch on the TVDB side?


----------



## reneg

elprice7345 said:


> MG3 is still not able to get any results from TVDB for me today. TMDB works fine.
> 
> Is this still a problem for others?


I am still unable to get any results from TVDB


----------



## dlfl

elprice7345 said:


> MG3 is still not able to get any results from TVDB for me today. TMDB works fine.
> 
> Is this still a problem for others?
> 
> @dlfl - Is it time to investigate if any changes are required on the MG3 side?
> 
> I see questions on the TVDB forum about API keys, 401 errors, 301 errors, etc. and I don't know enough to determine if TVDB made some changes that MG3 needs to adapt to or if its a glitch on the TVDB side?


I'm on it. You can see my posts on theTVDB.com here:
Issues with the API - TheTVDB.com
What should be working isn't, and so far no solution.

BTW: If tvdb (TV series) searches ARE working for anyone now, I would like to know:
1. Where are you located?
2. Which Windows version are you running?
3. What MG3 version are you running?
4. If you know how to 'ping', please ping api.thetvdb.com and post what address and IP it pings to.


----------



## ButchKy

Just started working for me, tvseries. Located in Kentucky, windows 10, 3.89. Pinged api.thetvdb.com and the results were the following:

Pinging d28ljkmapxhl0h.cloudfront.net [13.249.134.4] with 32 bytes of data:
Reply from 13.249.134.4: bytes=32 time=171ms TTL=233
Reply from 13.249.134.4: bytes=32 time=172ms TTL=233
Reply from 13.249.134.4: bytes=32 time=45ms TTL=233
Reply from 13.249.134.4: bytes=32 time=112ms TTL=233

Ping statistics for 13.249.134.4:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 45ms, Maximum = 172ms, Average = 125ms


----------



## dlfl

Thanks @ButchKy , it's working for me now, too.


----------



## elprice7345

The good news it's working again for me ... the bad news ... MG3 returns more search results than it used to.

TVDB v2 searches in MG3 for "ruins" only returned "Adam Ruins Everything". Similarly, searches for "fringe" only returned the show "Fringe".

Now, when I do the same searches, I get the expected shows in the results, but also many more shows. Some of the titles appear to be in different languages.

Any ideas on what happened to search? I know TVDB improved their search functionality significantly ... maybe the changes impacted MG3 negatively? Maybe they changed the way they handle languages?

Can you have a look @dlfl?


----------



## Sparky1234

elprice7345 said:


> The good news it's working again for me ... the bad news ... MG3 returns more search results than it used to.
> 
> TVDB v2 searches in MG3 for "ruins" only returned "Adam Ruins Everything". Similarly, searches for "fringe" only returned the show "Fringe".
> 
> Now, when I do the same searches, I get the expected shows in the results, but also many more shows. Some of the titles appear to be in different languages.
> 
> Any ideas on what happened to search? I know TVDB improved their search functionality significantly ... maybe the changes impacted MG3 negatively? Maybe they changed the way they handle languages?
> 
> Can you have a look @dlfl?


Down for most of the day. Its working again now.


----------



## dlfl

The search API is really screwed up now. According to the documentation the calls and functionality of V3 are identical to V2. However a lot of data is missing, e.g., a series name and ID will be returned but when you try to retrieve data for the series using that ID a null document is returned. This should be impossible so the error isn't handled in MG3. If you get a crash when you select a series to get episodes, that is what caused it.

At the moment the interactive website search isn't responding to searches at all so, for example, I can't check to see if ID's found via the API match those in the web page.. 

I'm not going to address MG3 search issues until they get this thing settled down. I already wasted hours on the authorization problem which eventually went away with no changes needed in MG3 code.


----------



## Zaphod

dlfl said:


> The search API is really screwed up now. ... If you get a crash when you select a series to get episodes, that is what caused it.
> ...
> I'm not going to address MG3 search issues until they get this thing settled down. I already wasted hours on the authorization problem which eventually went away with no changes needed in MG3 code.


Thanks for the update. Yep, that's what I'm seeing now. I get search results for the series title, but it crashes when I try to retrieve episode info. Will wait it out.


----------



## elprice7345

Sorry for TVDB wasting your time @dlfl, but thanks for looking into the issues!

Last night MG3 worked briefly and then later I only got search timeouts.

This morning I'm getting search results, but when I click on a series title, MG3 crashes. I suspect this is the same error everyone else is seeing:


Code:


************** Exception Text **************

System.NullReferenceException: Object reference not set to an instance of an object.

   at MetaDataSearch.theTVDBSearch.BuildSeries(String& status)

   at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)

   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)

   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)




dlfl said:


> At the moment the interactive website search isn't responding to searches at all so, for example, I can't check to see if ID's found via the API match those in the web page..


FYI &#8230; I'm able to search TVDB from the web site this morning.

When TVDB first rolled out v3 of the web site earlier this summer, they were going to wait and roll out v3 of the API at some later date. It seems like this upgrade to v3 of the web site also included v3 of the API? Is that your understanding as well @dlfl? I can't find any definitive statements in the TVDB forums.


----------



## dlfl

I'm not sure what's going on with the api, and the info in their forum is far from clear. But I can say that:
1. MG3 is using the API in accordance with their documentation, see:
The TVDB API
2. Many others are reporting the same problem i described in my previous post, so I'm sure they are working to correct it.


----------



## kflinch

Sorry if someone already posted about this. I see "unhandled exception" when I select a TV show from the search results. I upgraded to lasted version (3.89). Still see unhandled exeception. See attachments for screenshot and details.


----------



## dlfl

kflinch said:


> Sorry if someone already posted about this. I see "unhandled exception" when I select a TV show from the search results. I upgraded to lasted version (3.89). Still see unhandled exeception. See attachments for screenshot and details.


Err ... yes. Just two posts before yours.  Read the few posts just prior to that to see what's going on.

BTW your error message says you're running 3.88T2, which is months older than 3.89, although that has nothing to do with this problem.


----------



## kflinch

FYI, I updated the attached screenshot to show v3.89. Thanks for your reply.


----------



## kflinch

It was working about an hour ago. I got metadata for 2 TV series.


----------



## Zaphod

kflinch said:


> It was working about an hour ago. I got metadata for 2 TV series.


Working for me right now too.


----------



## dlfl

elprice7345 said:


> The good news it's working again for me ... the bad news ... MG3 returns more search results than it used to.
> 
> TVDB v2 searches in MG3 for "ruins" only returned "Adam Ruins Everything". Similarly, searches for "fringe" only returned the show "Fringe".
> 
> Now, when I do the same searches, I get the expected shows in the results, but also many more shows. Some of the titles appear to be in different languages.
> 
> Any ideas on what happened to search? I know TVDB improved their search functionality significantly ... maybe the changes impacted MG3 negatively? Maybe they changed the way they handle languages?
> 
> Can you have a look @dlfl?


Is this still an issue? If so, I will attempt to pursue it on the TVDB forum (developers sub-forum), although they don't seem to be responding to many questions there at the moment. I've searched the forum and neither it nor the API documentation yield anything helpful on this. If I can't get any help there, I will consider adding code to MG3 to prune the results for a narrower match criterion.

I have determined that MG3 is accessing the V3 API by default, i.e., with no code mods needed. But this is subject to change, perhaps without any notice from theTVDB.com, as they continue their V3 rollout.


----------



## Sparky1234

dlfl said:


> Is this still an issue? If so, I will attempt to pursue it on the TVDB forum (developers sub-forum), although they don't seem to be responding to many questions there at the moment. I've searched the forum and neither it nor the API documentation yield anything helpful on this. If I can't get any help there, I will consider adding code to MG3 to prune the results for a narrower match criterion.
> 
> I have determined that MG3 is accessing the V3 API by default, i.e., with no code mods needed. But this is subject to change, perhaps without any notice from theTVDB.com, as they continue their V3 rollout.


It's good to hear that it's working again.


----------



## Sparky1234

It's working for TV and movies again. TV search is very slow..... Terrific program, Thanks!!!


----------



## elprice7345

@dlfl It seems to be working. TVDB is returning results, but I need to do some more testing to make sure they're correct, especially given the API changes and issues.

Been busy the last few days and just now trying to catch up.

I'll give more detailed feedback later tonight or tomorrow.


----------



## dlfl

@elprice7345
I am particularly concerned about your observation that the V3 api is returning many more series than V2 did. Is that still an issue? I've got a test version of MG3 running that computes a similarity distance between each returned series name and the search term. It then sorts the results, most similar first. Then it displays only the top ten results.

For example, for a search term of just 'ruins', 'Adam Ruins Everything' comes out around fifth place. But if you use a more realistic search term (IMHO) of 'adam ruins', then it comes out in first place. I am amazed if V2 was returning just 'Adam Ruins Everything' for a search query of just 'ruins', as you stated.

Currently theTVDB.com (web page) returns 30 TV results for a search on 'ruins'. Interesting that 'Adam Ruins Everthing' is first. I don't know what algorithm they might be using to achieve that. I will inquire on their forum but won't hold my breath for an answer.

If you like the similarity sort idea, I will post a test version. I also solicit your comments about the max results to display.


----------



## Sparky1234

dlfl said:


> @elprice7345
> I am particularly concerned about your observation that the V3 api is returning many more series than V2 did. Is that still an issue? I've got a test version of MG3 running that computes a similarity distance between each returned series name and the search term. It then sorts the results, most similar first. Then it displays only the top ten results.
> 
> For example, for a search term of just 'ruins', 'Adam Ruins Everything' comes out around fifth place. But if you use a more realistic search term (IMHO) of 'adam ruins', then it comes out in first place. I am amazed if V2 was returning just 'Adam Ruins Everything' for a search query of just 'ruins', as you stated.
> 
> Currently theTVDB.com (web page) returns 30 TV results for a search on 'ruins'. Interesting that 'Adam Ruins Everthing' is first. I don't know what algorithm they might be using to achieve that. I will inquire on their forum but won't hold my breath for an answer.
> 
> If you like the similarity sort idea, I will post a test version. I also solicit your comments about the max results to display.


Some one word shows could be a problem with a limit of 10. Can you make it so 11+ shows could be seen by user selection?


----------



## dlfl

Sparky1234 said:


> Some one word shows could be a problem with a limit of 10. Can you make it so 11+ shows could be seen by user selection?


Can you give an example of your concern? The similarity sort would be expected to put the correct match for a one word show at the top of the list. For example, I tried 'friends' in my test version and 'Friends' was the top response.


----------



## elprice7345

I've tested quite a bit and MG3 seems to be working fine with TVDB with the exception of the new search results.

TVDB is still slow at times. I added an episode last night and it still isn't showing in the TVDB results &#8230; hopefully it's a cache issue like I had recently.

I'm still seeing the search issue and I agree with @Sparky1234 about series with only one word. With one-word series titles, we'll have to rely on refining the MG3/TVDB API search results or allow the results screen to show more than it does now.

Searching for "ruins" used to find only "Adam Ruins Everything" and now returns several titles, some of which appear to be in a different language. This particular search is easily fixed by adding another word to the search terms.

Searching for "fringe" used to yield a small set of results (I don't remember if it was the only result). Now, the results fill the MG3 screen. Many of the results are in a different language that are probably not relevant to an English language search. AFAIK, MG3 is English only.

Can you narrow the MG3 searches to English language only? That might fix some of the problems.

TVDB v3 significantly improved their search functionality on their web site, but in the process changed the API search results. The search is now more friendly, for example searching "friends" didn't use to return results. Now, it assumes you mistyped and returns "Friends" as the top result. The TVDB web site search results now prioritize results, maybe by popularity? This makes the web site search results much more useful. It also (finally) treats search terms as joined by an AND rather than an OR. Searching for "adam ruins" used to return all series with either the word "adam" or "ruins" in the title.

Is my understanding correct? A similarity search would place a perfect match like this: searching for "friends" would place "Friends" at the top of the search results, similarly for other one-word titles like fringe, emergence, 24, etc.


----------



## Sparky1234

elprice7345 said:


> I've tested quite a bit and MG3 seems to be working fine with TVDB with the exception of the new search results.
> 
> TVDB is still slow at times. I added an episode last night and it still isn't showing in the TVDB results &#8230; hopefully it's a cache issue like I had recently.
> 
> I'm still seeing the search issue and I agree with @Sparky1234 about series with only one word. With one-word series titles, we'll have to rely on refining the MG3/TVDB API search results or allow the results screen to show more than it does now.
> 
> Searching for "ruins" used to find only "Adam Ruins Everything" and now returns several titles, some of which appear to be in a different language. This particular search is easily fixed by adding another word to the search terms.
> 
> Searching for "fringe" used to yield a small set of results (I don't remember if it was the only result). Now, the results fill the MG3 screen. Many of the results are in a different language that are probably not relevant to an English language search. AFAIK, MG3 is English only.
> 
> Can you narrow the MG3 searches to English language only? That might fix some of the problems.
> 
> TVDB v3 significantly improved their search functionality on their web site, but in the process changed the API search results. The search is now more friendly, for example searching "friends" didn't use to return results. Now, it assumes you mistyped and returns "Friends" as the top result. The TVDB web site search results now prioritize results, maybe by popularity? This makes the web site search results much more useful. It also (finally) treats search terms as joined by an AND rather than an OR. Searching for "adam ruins" used to return all series with either the word "adam" or "ruins" in the title.
> 
> Is my understanding correct? A similarity search would place a perfect match like this: searching for "friends" would place "Friends" at the top of the search results, similarly for other one-word titles like fringe, emergence, 24, etc.


FBI is 5th on the list. Still slow on the results but working again!


----------



## Sparky1234

MG3 is faster after first search. I did several searches and MG3 is faster after that initial search or 2.


----------



## dlfl

elprice7345 said:


> Can you narrow the MG3 searches to English language only? That might fix some of the problems.


That should be doable.


elprice7345 said:


> Is my understanding correct? A similarity search would place a perfect match like this: searching for "friends" would place "Friends" at the top of the search results, similarly for other one-word titles like fringe, emergence, 24, etc.


Every example you give above displays the desired title in first place. 'fbi' also returns 'FBI' on top. The similarity algorithm is case-insensitive.

Will provide a test distro after I get the English language filter going.


----------



## dlfl

Try test distro 3.90T1 in attached zip.
*EDIT:* Attachment removed -- superseded by release ver. 3.90
This has the similarity sort for series search result display. There is no limit on the number of series displayed, although (strangely) it appears no more than 22 are ever returned.

Try searching with just a couple of key words for longer titles, e.g.:
adam ruins (or) adam everything (for adam ruins everything)
orange black (or) orange new (for orange is the new black)
how mother (or) how met (for how I met your mother)

I haven't implemented the language filter as I actually couldn't figure out how to do that. However, I'm seeing very few series that appear to be foreign language. (??)


----------



## MHunter1

I'm still getting the TVDB search error. Even with MG3 v3.8.9.0 it says "Search error: Web error getting token" no matter how I format or punctuate the title.


----------



## dlfl

MHunter1 said:


> I'm still getting the TVDB search error. Even with MG3 v3.8.9.0 it says "Search error: Web error getting token" no matter how I format or punctuate the title.


That message indicates a theTVDB.com server problem. I just tried and it was OK. Keep trying.


----------



## Sparky1234

Worked ok last night for me.


----------



## MHunter1

I am able to get some TVDB results for the first time tonight but I'm seeing the 22-line limit and some database bugs such as _The Mandalorian_ having a duplicate entry that returns an error.


----------



## dlfl

MHunter1 said:


> I am able to get some TVDB results for the first time tonight but I'm seeing the 22-line limit and some database bugs such as _The Mandalorian_ having a duplicate entry that returns an error.


Are you using test distro version 3.90T1 (attached to post #463)? With the series search list sorted by similarity to the search term(s) you should see your desired series at or near the top of the list, assuming your search terms are halfway reasonable. Thus 22 results should be more than enough. BTW, this 22 limit is built into the TVDB API -- no way for MG3 to change it AFAIK.


----------



## elprice7345

FYI - MG3 has been working fine for me with TVDB since earlier this week.


dlfl said:


> Are you using test distro version 3.90T1 (attached to post #463)? With the series search list sorted by similarity to the search term(s) you should see your desired series at or near the top of the list, assuming your search terms are halfway reasonable. Thus 22 results should be more than enough. BTW, this 22 limit is built into the TVDB API -- no way for MG3 to change it AFAIK.


Well you answered one of my questions! If the limit is 22, there's no point in returning more results to be able to scroll through them.

With one-word series titles and the changes to the TVDB search function, I think you have to implement the similarity search or run the risk of not being able to retrieve the series.

@dlfl - I would like to see the search results filtered by language if you can figure out how to do it. I've attached a screen shot with examples. The results will be more relevant and it will be a programming challenge for you! 








I've also attached a new knownSeriesIds.txt file to replace the one you distribute. I've cleaned it up, added many new seriesIds, and removed duplicates.

For extra credit, what do you think about adding the TVDB movies as a search source to the movies tab now that TVDB has added movies to their database?


----------



## dlfl

@elprice7345
Try test distro 3.90T2 in attached zip.
*EDIT:* Attachment removed -- superseded by release ver 3.90
I modified the similarity distance to ignore trailing years in parens in the result series titles. Now the 'atlantis' search displays Atlantis (2009) and Atlantis (2013) at the top two results. (I assumed one of those is what you were after.)

I really don't see any way to exclude foreign items. Hopefully the T2 mod will help on this issue.

AFAIK theTVDB.com hasn't come up with an API to search their movies. Have you seen any indication of that on their forums? The available API just returns series. Do you see obvious advantages of their movie info over TMDb ?

I will include your updated knownSeriesIds.txt in the next non-test release, and thanks for that.


----------



## Sparky1234

dlfl said:


> @elprice7345
> Try test distro 3.90T2 in attached zip. I modified the similarity distance to ignore trailing years in parens in the result series titles. Now the 'atlantis' search displays Atlantis (2009) and Atlantis (2013) at the top two results. (I assumed one of those is what you were after.)
> 
> I really don't see any way to exclude foreign items. Hopefully the T2 mod will help on this issue.
> 
> AFAIK theTVDB.com hasn't come up with an API to search their movies. Have you seen any indication of that on their forums? The available API just returns series. Do you see obvious advantages of their movie info over TMDb ?
> 
> I will include your updated knownSeriesIds.txt in the next non-test release, and thanks for that.


I like the new search results stacking! TV searches are faster. Nice improvements!


----------



## elprice7345

dlfl said:


> Try test distro 3.90T2 in attached zip. I modified the similarity distance to ignore trailing years in parens in the result series titles. Now the 'atlantis' search displays Atlantis (2009) and Atlantis (2013) at the top two results. (I assumed one of those is what you were after.)


Ignoring the trailing years is a good improvement. :thumbsup: Most of the time users probably don't know the year of the series or even if it has a year.


dlfl said:


> I really don't see any way to exclude foreign items. Hopefully the T2 mod will help on this issue.


The T2 mod definitely helps and I think the MG3 search is great as it stands now.  I would ask on the TVDB forums, but since I'm not a programmer, chances are I wouldn't understand the answer. Could you ask over in the TVDB forum? 


dlfl said:


> AFAIK theTVDB.com hasn't come up with an API to search their movies. Have you seen any indication of that on their forums? The available API just returns series. Do you see obvious advantages of their movie info over TMDb ?


I did ask in the TVDB forums here: https://forums.thetvdb.com/viewtopic.php?f=122&t=60462.We'll see what they say. As far as advantages to using TVDB movie info, probably not yet. They're just rolling it out and TMDB has been around for awhile. I always think it's good to have multiple sources available if possible. Remember, we used to have Netflix as a source before Netflix shut that down.


dlfl said:


> I will include your updated knownSeriesIds.txt in the next non-test release, and thanks for that.


You're welcome! I've also attached an updated knownMovieIds.txt to this post.


----------



## dlfl

Note to users: If you get "Search error: Web error getting token" in response to a TV Search, this means the TVDB server is not responding.

I'm experimenting with a scheme to weed out foreign language series and had to stop because this error started happening.


----------



## dlfl

Try test distro Ver. 3.90T3 in attached zip. *EDIT: Attachment removed. Superseded by 3.90T4*
This includes an attempt to exclude non-English series from TV search results.
What it actually does is exclude series that have a missing 'Overview', based on this description from the API documentation:

If you include a language = 'en' specifier in the search request:


> Records are returned with the Episode name and Overview in the desired language, if it exists. If there is no translation for the given language, then the record is still returned but with empty values for the translated fields


I noticed that some series that appear to have English names, e.g., Atlantis (2009), have missing overview elements, so are excluded. I suspect this may not be objectionable based on the assumption that a series of interest would be expected to have an overview.(?)

I also included the updated knownSeriesIds and knownMovieIds provided by @elprice7345.


----------



## Sparky1234

dlfl said:


> Try test distro Ver. 3.90T3 in attached zip.
> This includes an attempt to exclude non-English series from TV search results.
> What it actually does is exclude series that have a missing 'Overview', based on this description from the API documentation:
> 
> If you include a language = 'en' specifier in the search request:
> 
> I noticed that some series that appear to have English names, e.g., Atlantis (2009), have missing overview elements, so are excluded. I suspect this may not be objectionable based on the assumption that a series of interest would be expected to have an overview.(?)
> 
> I also included the updated knownSeriesIds and knownMovieIds provided by @elprice7345.


Wow, this keeps getting better and better!


----------



## elprice7345

dlfl said:


> Try test distro Ver. 3.90T3 in attached zip.
> This includes an attempt to exclude non-English series from TV search results.
> What it actually does is exclude series that have a missing 'Overview', based on this description from the API documentation:
> 
> If you include a language = 'en' specifier in the search request:
> 
> I noticed that some series that appear to have English names, e.g., Atlantis (2009), have missing overview elements, so are excluded. I suspect this may not be objectionable based on the assumption that a series of interest would be expected to have an overview.(?)


Much better @dlfl! Props for figuring this out!

Most of the series with non-english language titles don't show in the results!

I did find a couple of quirky examples:

1. Search for "ballers" found this: Search - TheTVDB.com

If you scroll down you'll see the series _De Allerslechtste Chauffeur Van Nederland. _Someone created an overview for the series in English and an "English" title, but left the "English" title in Dutch. According to MG3's logic it is correctly included in the results.

_2. Atlantis (2009) _may be an inverse example: Search - TheTVDB.com

In this case, _Atlantis _is a proper English noun and as such doesn't have a German translation. At first glance, I would expect the series to show in the MG3 results, but the series title and overview are both tagged as German so they correctly don't show in the search results.

I think MG3 is in pretty good shape post-TVDB upgrade, but I would let the dust settle and TVDB stabilize a bit more before I published a new version. It will also give me a chance to do some more testing using my normal processes.


----------



## dlfl

Please replace test distro 3.90T3 with test distro 3.90T4 from attached zip.
*EDIT:* Attachment removed -- Superseded by release ver. 3.90
I found the 22-result limit was not imposed by the API but in MG3 code. And when I introduced the pseudo English-only filter, I did the limit wrong, so some valid results might be filtered out.



elprice7345 said:


> &#8230;&#8230;.. I would let the dust settle and TVDB stabilize a bit more before I published a new version. It will also give me a chance to do some more testing using my normal processes.


I agree.


----------



## elprice7345

While testing T4, MG3 would return no more than 23 series in the query results.

Example: When I search for "atlantis" MG3 returns 23 titles. When I search the same on the TVDB web site, it returns 72 TV shows. Many of the web results don't have an English overview and therefore should be excluded from the MG3 results. I didn't take the time to count through all 72 titles.  Do you do anything in MG3 to limit the results quantity other than the language trick?

I also get 23 results when I search for "24", but web search returns 123 TV show titles. When I searched TVDB for any fairly common single word, I could get no more than 23 titles.

Other than fixing the limit issue, the MG3 search results are much improved!


----------



## dlfl

3.90T4 didn't remove the 22 (23?) limit on displayed results. It just corrected the way the limit was imposed. MG3 gets the same number of results via the API as the web search yields. It eliminates the non-english ones then sorts the rest on similarity then displays the top 22 (23?) results.


----------



## elprice7345

dlfl said:


> 3.90T4 didn't remove the 22 (23?) limit on displayed results. It just corrected the way the limit was imposed. MG3 gets the same number of results via the API as the web search yields. It eliminates the non-english ones then sorts the rest on similarity then displays the top 22 (23?) results.


Good to know @dlfl. I do see 23 results in some searches.

I noticed when installing T4 that the knownseriesids.txt file had the same issues I cleaned up. The issued version has some duplicates and incorrect seriesIds.

Can you replace your version with this one rather than letting MG3 combine them? Feel free to compare the files to make sure I didn't honk something up!


----------



## dlfl

elprice7345 said:


> Good to know @dlfl. I do see 23 results in some searches.
> 
> I noticed when installing T4 that the knownseriesids.txt file had the same issues I cleaned up. The issued version has some duplicates and incorrect seriesIds.
> 
> Can you replace your version with this one rather than letting MG3 combine them? Feel free to compare the files to make sure I didn't honk something up!


Your attached file is the same knownSeriesIds file you provided before. I did include it in the T4 distribution. However when MG3 merges the distroSeriesids file with your local existing knownSeriesIds file, it gives precedence to the local file, thus it will not replace a local value with a distributed value. Which file should get precedence depends on what the relative probability of errors are for the two files. If we give the distributed file precedence, a user could have decided a distributed item was incorrect and replaced it locally, but unless the correction was made in the distributed file, the correct local value will be overwritten by the incorrect distributed value each time a new version of MG3 is run. So, do you think the precedence should be switched to the distributed file? I'm OK with either way.

In the case that an incorrect item exists in the local file, but no item for that title exists in the distro file, the incorrect item will not be purged -- a merge is being done. To reverse that behavior means you're just replacing the entire local file with the distributed file. I think purging local items that aren't in the distributed file is likely to be very upsetting to some users, who have added items beyond those that were distributed. I think it will have to be the users responsibility to purge such items (or correct them).


----------



## Sparky1234

dlfl said:


> Your attached file is the same knownSeriesIds file you provided before. I did include it in the T4 distribution. However when MG3 merges the distroSeriesids file with your local existing knownSeriesIds file, it gives precedence to the local file, thus it will not replace a local value with a distributed value. Which file should get precedence depends on what the relative probability of errors are for the two files. If we give the distributed file precedence, a user could have decided a distributed item was incorrect and replaced it locally, but unless the correction was made in the distributed file, the correct local value will be overwritten by the incorrect distributed value each time a new version of MG3 is run. So, do you think the precedence should be switched to the distributed file? I'm OK with either way.
> 
> In the case that an incorrect item exists in the local file, but no item for that title exists in the distro file, the incorrect item will not be purged -- a merge is being done. To reverse that behavior means you're just replacing the entire local file with the distributed file. I think purging local items that aren't in the distributed file is likely to be very upsetting to some users, who have added items beyond those that were distributed. I think it will have to be the users responsibility to purge such items (or correct them).


Can you explain the KnownSeriesID.txt format, I would like to edit mine?

Example:
10 Days That Unexpectedly Changed America^SH0067251635^10 days that unexpectedly changed america^81412

Where does 81412 come from in my example above?


----------



## dlfl

Sparky1234 said:


> Can you explain the KnownSeriesID.txt format, I would like to edit mine?
> 
> Example:
> 10 Days That Unexpectedly Changed America^SH0067251635^10 days that unexpectedly changed america^81412
> 
> Where does 81412 come from in my example above?


The format is:
<Tvdb Title>^<seriesID>^<override title>^<Tvdb ID>

<Tvdb Title> = title as held by theTVDB.com database
<seriesID> = series ID (collection ID) per TiVo
<override title> = Title used for RPC search (may be different from <Tvdb Title>)
<Tvdb ID> = ID of series in theTVDB.com database

Caution: The only guaranteed safe edit is to delete a line. You should shut down MG3 while editing then restart.


----------



## Sparky1234

dlfl said:


> The format is:
> <Tvdb Title>^<seriesID>^<override title>^<Tvdb ID>
> 
> <Tvdb Title> = title as held by theTVDB.com database
> <seriesID> = series ID (collection ID) per TiVo
> <override title> = Title used for RPC search (may be different from <Tvdb Title>)
> <Tvdb ID> = ID of series in theTVDB.com database
> 
> Caution: The only guaranteed safe edit is to delete a line. You should shut down MG3 while editing then restart.


Thanks. This will allow me to manage my own DB.


----------



## dlfl

Additional regarding replacing items in (local) knownSeriesIds.txt with different values from (distributed) distroSeriesIds.txt:

I think the optimum logic would be for a pop-up message if the distro and local values for a particular title differ, allowing the user to select which one to use in the local file. This should be a fairly rare occurrence, I would hope, so not very disruptive at startup. The same approach would be used for known movie id's of course. Comments?


----------



## Sparky1234

dlfl said:


> Additional regarding replacing items in (local) knownSeriesIds.txt with different values from (distributed) distroSeriesIds.txt:
> 
> I think the optimum logic would be for a pop-up message if the distro and local values for a particular title differ, allowing the user to select which one to use in the local file. This should be a fairly rare occurrence, I would hope, so not very disruptive at startup. The same approach would be used for known movie id's of course. Comments?


Great suggestion.


----------



## elprice7345

dlfl said:


> Your attached file is the same knownSeriesIds file you provided before. I did include it in the T4 distribution. However when MG3 merges the distroSeriesids file with your local existing knownSeriesIds file, it gives precedence to the local file, thus it will not replace a local value with a distributed value. Which file should get precedence depends on what the relative probability of errors are for the two files. If we give the distributed file precedence, a user could have decided a distributed item was incorrect and replaced it locally, but unless the correction was made in the distributed file, the correct local value will be overwritten by the incorrect distributed value each time a new version of MG3 is run. So, do you think the precedence should be switched to the distributed file? I'm OK with either way.
> 
> In the case that an incorrect item exists in the local file, but no item for that title exists in the distro file, the incorrect item will not be purged -- a merge is being done. To reverse that behavior means you're just replacing the entire local file with the distributed file. I think purging local items that aren't in the distributed file is likely to be very upsetting to some users, who have added items beyond those that were distributed. I think it will have to be the users responsibility to purge such items (or correct them).


Hmmm ... I reinstalled MG3 and couldn't reproduce my issue. I'm not sure what happened, but clearly it was something I did.

And &#8230; you're correct, I wouldn't want MG3 to overwrite a user's data.


dlfl said:


> Additional regarding replacing items in (local) knownSeriesIds.txt with different values from (distributed) distroSeriesIds.txt:
> 
> I think the optimum logic would be for a pop-up message if the distro and local values for a particular title differ, allowing the user to select which one to use in the local file. This should be a fairly rare occurrence, I would hope, so not very disruptive at startup. The same approach would be used for known movie id's of course. Comments?


I like this idea!

I basically developed a couple of MS Access queries that look for duplicates in each of the knownseriesid.txt fields. I then have to look at the file and determine what to do, if anything, with each duplicate.

Sometimes duplicates get introduced as user errors, but more often, it's because the TVDB series title was changed.

If you could incorporate the knownseriesid.txt duplicate checking logic into MG3, I think that would be very valuable.


----------



## dlfl

Try test distro 3.90C6 in attached zip.* EDIT:* Removed attachment, use 3.90C7 attached to later post.
Ver. 3.90C6 (3 December 2019)
*Enhanced:* If item in distroSeriesIds.txt doesn't match item in local knownSeriesIds.txt, pop- up allows user to choose whether to accept the distro value
*Changed:* Program ported to Visual Studio 2019.
*Changed:* .NET 4.0 required (previously was 2.0)

If you don't have .NET 4.0 installed program will bark at run attempt. Installation is free and easy and most windows computers already have it by now.

Once the new pop-up/prompt seriesID merge feature is polished, I will implement the same thing for knowMovieIds.


----------



## Sparky1234

dlfl said:


> Try test distro 3.90C6 in attached zip.
> Ver. 3.90C6 (3 December 2019)
> *Enhanced:* If item in distroSeriesIds.txt doesn't match item in local knownSeriesIds.txt, pop- up allows user to choose whether to accept the distro value
> *Changed:* Program ported to Visual Studio 2019.
> *Changed:* .NET 4.0 required (previously was 2.0)
> 
> If you don't have .NET 4.0 installed program will bark at run attempt. Installation is free and easy and most windows computers already have it by now.
> 
> Once the new pop-up/prompt seriesID merge feature is polished, I will implement the same thing for knowMovieIds.


Looking forward to trying this tonight and I will then provide feedback.


----------



## dlfl

Try test distro 3.90C7 in attached zip.
*EDIT:* Attachment removed -- superseded by release ver. 3.90

*Ver. 3.90C7* (4 December 2019)
*Enhanced:* Popup for duplicate movie/series ID's local vs. distro, has better message format and buttons to select actions.

If you click one of the accept/reject ALL distro buttons, that choice will be applied for all remaining duplicate cases (if any) and the pop-up will no longer appear.

Note that any of the following actions is equivalent to clicking the "Accept this distro value" button:
1. Closing the dialog box.
2. Esc key
3. Return key


----------



## Sparky1234

dlfl said:


> Try test distro 3.90C7 in attached zip.
> 
> *Ver. 3.90C7* (4 December 2019)
> *Enhanced:* Popup for duplicate movie/series ID's local vs. distro, has better message format and buttons to select actions.
> 
> If you click one of the accept/reject ALL distro buttons, that choice will be applied for all remaining duplicate cases (if any) and the pop-up will no longer appear.
> 
> Note that any of the following actions is equivalent to clicking the "Accept this distro value" button:
> 1. Closing the dialog box.
> 2. Esc key
> 3. Return key


Wow, you are good! Thanks for all your effort!


----------



## Sparky1234

dlfl said:


> Try test distro 3.90C7 in attached zip.
> 
> *Ver. 3.90C7* (4 December 2019)
> *Enhanced:* Popup for duplicate movie/series ID's local vs. distro, has better message format and buttons to select actions.
> 
> If you click one of the accept/reject ALL distro buttons, that choice will be applied for all remaining duplicate cases (if any) and the pop-up will no longer appear.
> 
> Note that any of the following actions is equivalent to clicking the "Accept this distro value" button:
> 1. Closing the dialog box.
> 2. Esc key
> 3. Return key


This new version is faster. Once search is started I can't stop it. Any way to add a stop search function?


----------



## dlfl

Sparky1234 said:


> This new version is faster. Once search is started I can't stop it. Any way to add a stop search function?


Which search? (There are four.). Why do you want to stop it?


----------



## Sparky1234

dlfl said:


> Which search? (There are four.). Why do you want to stop it?


Get RPC PIDs
-> do seriesID RPC search
Once started can take a long time, I would like to stop this search.


----------



## dlfl

Try test distro 3.90C8 in attached zip.
Ver. 3.90C8 (8 December 2019)
*Enhanced:* Operator cancel buttons added for RPC seriesId and (series) programId searches.


----------



## Sparky1234

dlfl said:


> Try test distro 3.90C8 in attached zip.
> Ver. 3.90C8 (8 December 2019)
> *Enhanced:* Operator cancel buttons added for RPC seriesId and (series) programId searches.


Very nice. Works great. Thanks!!!

Can you add this icon? I manually add it now, others may like an icon too.


----------



## dlfl

Sparky1234 said:


> Very nice. Works great. Thanks!!!
> 
> Can you add this icon? I manually add it now, others may like an icon too.


??? Add it where?


----------



## Sparky1234

dlfl said:


> ??? Add it where?


MG3 .exe or .dll file?


----------



## dlfl

Sparky1234 said:


> MG3 .exe or .dll file?


Still don't know what you mean.


----------



## HerronScott

Sparky1234 said:


> MG3 .exe or .dll file?





dlfl said:


> Still don't know what you mean.


Me either. 

WHen it runs, it has a TiVo icon on the Taskbar. Do you mean so the executable also has the same icon?










Scott


----------



## Sparky1234

HerronScott said:


> Me either.
> 
> WHen it runs, it has a TiVo icon on the Taskbar. Do you mean so the executable also has the same icon?
> 
> View attachment 44968
> 
> 
> Scott


When I create a shortcut to MG3 the icon looks like Scott's attachment aboce. Metagenerator Version 3.exe can't be pinned directly to the taskbar. I crate a shortcut to Metagenerator Version 3.exe, add my icon and pin that shortcut to my taskbar. The subsequent pinned shortcut icon would be all white if I did not add my icon. I hope this adds some level of clarity.


----------



## HerronScott

Sparky1234 said:


> When I create a shortcut to MG3 the icon looks like Scott's attachment aboce. Metagenerator Version 3.exe can't be pinned directly to the taskbar. I crate a shortcut to Metagenerator Version 3.exe, add my icon and pin that shortcut to my taskbar. The subsequent pinned shortcut icon would be all white if I did not add my icon. I hope this adds some level of clarity.


I have no problem right-clicking on the executable and selecting Pin to taskbar with Windows 10 (which creates a shortcut for it). Windows doesn't see the executable as containing an icon which you can see by selecting the Properties for the shortcut.










Not sure what it takes to add an application icon to an executable when it's created for default use by Windows but if a .ico file could be included then you could manually point to it.

Scott


----------



## dlfl

HerronScott said:


> I have no problem right-clicking on the executable and selecting Pin to taskbar with Windows 10 (which creates a shortcut for it). Windows doesn't see the executable as containing an icon which you can see by selecting the Properties for the shortcut.
> 
> View attachment 44976
> 
> 
> Not sure what it takes to add an application icon to an executable when it's created for default use by Windows but if a .ico file could be included then you could manually point to it.
> 
> Scott


OK, I get it now. I think an icon can be put into the .exe file. Will look into it.


----------



## dlfl

Try test distro 3.90C9 in attached zip
*EDIT:* Attachment removed -- superseded by release ver. 3.90 (see first post)
Program .exe has icon imbedded. Icon file camcorder.ico is in attached zip. It's a green circle with a camcorder shape in it, chosen primarily for good visibility and unique-ness.

The new icon should appear in these places:
1. Upper left corner of MG3 program form.
2. With MG3 .exe in explorer.
3. On shortcut created by right-clicking on .exe
4. In taskbar when program is running and/or if pinned.

The separate icon file is not required for any of the above functionality. It is just provided FYI.


----------



## Sparky1234

dlfl said:


> Try test distro 3.90C9 in attached zip
> Program .exe has icon imbedded. Icon file camcorder.ico is in attached zip. It's a green circle with a camcorder shape in it, chosen primarily for good visibility and unique-ness.
> 
> The new icon should appear in these places:
> 1. Upper left corner of MG3 program form.
> 2. With MG3 .exe in explorer.
> 3. On shortcut created by right-clicking on .exe
> 4. In taskbar when program is running and/or if pinned.
> 
> The separate icon file is not required for any of the above functionality. It is just provided FYI.


Thanks. That works. I'm still customizing my icon to the TiVo icon as it stands out for me on my taskbar.


----------



## dlfl

Sparky1234 said:


> Thanks. That works. I'm still customizing my icon to the TiVo icon as it stands out for me on my taskbar.


I tried using the icon you provided but it provided very poor visibility on my system. I hoped the big green circle I chose would be visible and unique on all systems.


----------



## Sparky1234

dlfl said:


> I tried using the icon you provided but it provided very poor visibility on my system. I hoped the big green circle I chose would be visible and unique on all systems.


It works, thanks for your time and effort.


----------



## elprice7345

dlfl said:


> Enhanced: If item in distroSeriesIds.txt doesn't match item in local knownSeriesIds.txt, pop- up allows user to choose whether to accept the distro value


@dlfl - Can you explain the logic you added for this? Is MG3 only looking at <Tvdb Title> and then identifying differences for the remaining 3 fields? Could MG3 identify any of the 4 fields that are duplicated in any row?

Maybe this is a function better suited to being run after MG3 is loaded? Maybe as a button under the settings tab? Maybe as a new top-level button? The user could then run the check whenever they feel the need.

The function would check the knownSeriesIds.txt and knownMovieIds.txt files to see if any of the fields are duplicated between rows.



dlfl said:


> Enhanced: Operator cancel buttons added for RPC seriesId and (series) programId searches


I like this idea! It falls into the save the user from himself category! Very useful if you unintentionally click the button to search for programIds for series with many episodes!



dlfl said:


> Try test distro 3.90C9 in attached zip
> Program .exe has icon imbedded. Icon file camcorder.ico is in attached zip. It's a green circle with a camcorder shape in it, chosen primarily for good visibility and unique-ness.
> 
> The new icon should appear in these places:
> 1. Upper left corner of MG3 program form.
> 2. With MG3 .exe in explorer.
> 3. On shortcut created by right-clicking on .exe
> 4. In taskbar when program is running and/or if pinned.
> 
> The separate icon file is not required for any of the above functionality. It is just provided FYI.


I like the new icon, because my old MG3 icon was very similar to the pyTivo desktop icon and I often confused the two. Good idea! I did have to logout and log back in for the icon change to take effect on my system.


----------



## dlfl

elprice7345 said:


> @dlfl - Can you explain the logic you added for this? Is MG3 only looking at <Tvdb Title> and then identifying differences for the remaining 3 fields? ...........


Yes that's what it does for the seriesId comparison. For movie ID's it compares Title+MovieYear combinations, since a title alone doesn''t select a particular movie.


elprice7345 said:


> Could MG3 identify any of the 4 fields that are duplicated in any row?
> 
> Maybe this is a function better suited to being run after MG3 is loaded? Maybe as a button under the settings tab? Maybe as a new top-level button? The user could then run the check whenever they feel the need.
> 
> The function would check the knownSeriesIds.txt and knownMovieIds.txt files to see if any of the fields are duplicated between rows.


The intent is just to handle any duplicates between the distro files and the local files. This is a one-time operation that occurs only the first time distro files are encountered in the run-time folder. (i.e., when a new version is installed, normally). Then the distro file(s) are deleted. What you seem to be envisioning is some kind of more sophisticated database management system. I would need a more detailed description of this and, more important, some convincing that the payoff is worth the complexity.


----------



## dlfl

It has finally dawned on me that the previous MG3 icon was lost when I ported the program from Visual Studio 2008 to VS2019. But I agree with @elprice7345 in preferring the new icon.


----------



## elprice7345

Snacko said:


> I tried searching MG3 for Gunsmoke, Longmire, Friends, and Seinfield, and none of them returned a SeriesID. After I disconnected from Spectrum and cut the cable I just wanted to use my Tivo to store my videos. So I ran a Tivo Reset to clear out the todo list and channel listings. I wonder if that deleted this database. I don't even have a cablecard anymore. I can stream Northern Exposure from my PC to the Roku, but I thought it would be nice to have on my Tivo with all of the episode descriptions and it would keep track of the episode I was on. I have not used Plex, but I will give that a look.


I'm pretty sure your TiVo won't provide any of the metadata without a subscription to the TiVo service.

MG3 is the app to get that info, but it queries the TiVo server using your TiVo credentials.

FWIW, the seriesId for:

Northern Exposure: SH0000014579
Gunsmoke: SH0000018418
Longmire: SH0208748971
Friends: SH0000016645
Seinfield: SH0000016984


----------



## Snacko

elprice7345 said:


> I'm pretty sure your TiVo won't provide any of the metadata without a subscription to the TiVo service.
> 
> MG3 is the app to get that info, but it queries the TiVo server using your TiVo credentials.
> 
> FWIW, the seriesId for:
> 
> Northern Exposure: SH0000014579
> Gunsmoke: SH0000018418
> Longmire: SH0208748971
> Friends: SH0000016645
> Seinfield: SH0000016984


Thanks for your help.

I do have a lifetime Tivo Service on my Premier. I just disconnected the cable service.

I tried the Northern Exposure seriesID you posted and transferred my two episodes, but it still does not put them in a folder. I do have other recordings still on it that are in folders. So I guess it must have the database?

.... wait, I have an idea ...

I just used the Seinfield seriesID, title, and seriesTitle and IT WORKED!! The two episodes are in the same Seinfield folder. That works for me!!

Thanks Sir!!! (Very Happy!!)


----------



## elprice7345

Glad I could help!

Sometimes if you pull a file with the wrong seriesId or programId, TiVo won't "see" the new programId or seriesId if you try again.

Sometimes time will fix the issue, maybe it ages out somehow. 

Something else you could do would be to clear and reset the TiVo. I believe that fixes the issue as well.


----------



## elprice7345

dlfl said:


> The intent is just to handle any duplicates between the distro files and the local files. This is a one-time operation that occurs only the first time distro files are encountered in the run-time folder. (i.e., when a new version is installed, normally). Then the distro file(s) are deleted. What you seem to be envisioning is some kind of more sophisticated database management system. I would need a more detailed description of this and, more important, some convincing that the payoff is worth the complexity.


You're probably right. I already have a way to clean my files up with my MS Access queries and I'm not sure it matters to anyone else or has any real impact.

The problem I've seen a few times is TVDB users renaming a series. For example the series that is now "James Cameron's Story of Science Fiction" was first titled "AMC Visionaries: James Cameron's Story of Science Fiction".

After noticing the series was renamed, I searched again for the new title, thus creating a second entry in the knownseriesid.txt file. The result was the file has 2 entries for the seriesId:


Code:


AMC Visionaries: James Cameron's Story of Science Fiction^SH0366777786^james cameron's story of science fiction^341484
James Cameron's Story of Science Fiction^SH0366777786^james cameron's story of science fiction^341484

Other than the knownseriesid.txt file having an extra entry, I don't guess there's any harm done, so i wouldn't worry about it.

On that note, I've attached my most recent ID files.


----------



## Sparky1234

elprice7345 said:


> You're probably right. I already have a way to clean my files up with my MS Access queries and I'm not sure it matters to anyone else or has any real impact.
> 
> The problem I've seen a few times is TVDB users renaming a series. For example the series that is now "James Cameron's Story of Science Fiction" was first titled "AMC Visionaries: James Cameron's Story of Science Fiction".
> 
> After noticing the series was renamed, I searched again for the new title, thus creating a second entry in the knownseriesid.txt file. The result was the file has 2 entries for the seriesId:
> 
> 
> Code:
> 
> 
> AMC Visionaries: James Cameron's Story of Science Fiction^SH0366777786^james cameron's story of science fiction^341484
> James Cameron's Story of Science Fiction^SH0366777786^james cameron's story of science fiction^341484
> 
> Other than the knownseriesid.txt file having an extra entry, I don't guess there's any harm done, so i wouldn't worry about it.
> 
> On that note, I've attached my most recent ID files.


Cool Thanks!
1. Both Ray Donovan and Shameless (US) are in your file but I have to do a "GET RPC Search" to get the EP and SH to fill in. Is there a manual way to enter either from your file?
2. Is there a way to save the TV Show Metadata file without associating it with a video file? Some shows record next week but the data is available now.


----------



## dlfl

Sparky1234 said:


> Cool Thanks!
> 1. Both Ray Donovan and Shameless (US) are in your file but I have to do a "GET RPC Search" to get the EP and SH to fill in. Is there a manual way to enter either from your file?
> 2. Is there a way to save the TV Show Metadata file without associating it with a video file? Some shows record next week but the data is available now.


1. Download @elprice7345 's knownSeriesIds.txt file, rename it to distroSeriesIds.txt, place it in your MG3 runtime folder and start MG3.
2. Create a tiny text file with whatever video file name you prefer, and change the extension to a video extension (e.g., .mpg). Then save your metadata .txt file as associated with that dummy file. When you later get the actual video file, rename and move as necessary the .txt file you created earlier.


----------



## dlfl

elprice7345 said:


> .........
> The problem I've seen a few times is TVDB users renaming a series. For example the series that is now "James Cameron's Story of Science Fiction" was first titled "AMC Visionaries: James Cameron's Story of Science Fiction".
> 
> After noticing the series was renamed, I searched again for the new title, thus creating a second entry in the knownseriesid.txt file. The result was the file has 2 entries for the seriesId:
> ..........


I could write some code to find seriesID duplicates, display them, and let the user decide what to do. This could be integrated into MG3, perhaps to run at startup (I don't want to add another button). This would add a slight delay to startup -- hopefully negligible, but if it turned out to be objectionable a separate utility program could be done.

However, as you said, the duplcates cause no harm other than adding a few unused items to the database.


----------



## Sparky1234

dlfl said:


> 1. Download @elprice7345 's knownSeriesIds.txt file, rename it to distroSeriesIds.txt, place it in your MG3 runtime folder and start MG3.
> 2. Create a tiny text file with whatever video file name you prefer, and change the extension to a video extension (e.g., .mpg). Then save your metadata .txt file as associated with that dummy file. When you later get the actual video file, rename and move as necessary the .txt file you created earlier.


MG3 keeps getting better and better, a big THANKS!


----------



## elprice7345

dlfl said:


> I could write some code to find seriesID duplicates, display them, and let the user decide what to do. This could be integrated into MG3, perhaps to run at startup (I don't want to add another button). This would add a slight delay to startup -- hopefully negligible, but if it turned out to be objectionable a separate utility program could be done.
> 
> However, as you said, the duplcates cause no harm other than adding a few unused items to the database.


IF you feel like doing it, I would write a separate utility. Given that I already have a way to do this, I wouldn't worry about it.


----------



## elprice7345

Sparky1234 said:


> Cool Thanks!
> 1. Both Ray Donovan and Shameless (US) are in your file but I have to do a "GET RPC Search" to get the EP and SH to fill in. Is there a manual way to enter either from your file?
> 2. Is there a way to save the TV Show Metadata file without associating it with a video file? Some shows record next week but the data is available now.


To add to what @dlfl said:

If you just want the seriesId and it's already in your knownserieid.txt file, clicking the _Set SeriesIds _button will populate the seriesId in all episodes, but not the programId.
You must search for programIds at least once (or get a programID file from another user) to populate the programID field. Once you search, you can save the programIds in a file and click the _Load PIDs _button to restore them.
Answering Q2: No. @dlfl has provided a very nice workaround.  MG3 only needs a file with a known video extension (mpg, mkv, avi, mp4, etc.) to be available for it to create the metadata file.
FYI - You only need the programId to load most of the metadata for a show. Any of the metadata TiVo has for a show will be loaded from only the associated programId. If you have additional metadata that TiVo doesn't have (additional actors, directors, etc.) MG3 will pull that from TVDB or you could add it yourself and pyTivo will pull it.
I've attached a zip file for all the shows where I've saved programIds. Maybe it will save someone some time. A few words of caution:

Any series where episodes were broadcast with 2 episodes combined as 1, could have different programIds depending on whether you want the programId for the combined episode or only the 1st episode.
Any series currently airing will be generating new programIds as long as it airs.
It is often difficult if not impossible to find programIds for episodes that aired long ago or are not available in the TiVo DB, so not every episode has a programId.


----------



## Sparky1234

elprice7345 said:


> To add to what @dlfl said:
> 
> If you just want the seriesId and it's already in your knownserieid.txt file, clicking the _Set SeriesIds _button will populate the seriesId in all episodes, but not the programId.
> You must search for programIds at least once (or get a programID file from another user) to populate the programID field. Once you search, you can save the programIds in a file and click the _Load PIDs _button to restore them.
> Answering Q2: No. @dlfl has provided a very nice workaround.  MG3 only needs a file with a known video extension (mpg, mkv, avi, mp4, etc.) to be available for it to create the metadata file.
> FYI - You only need the programId to load most of the metadata for a show. Any of the metadata TiVo has for a show will be loaded from only the associated programId. If you have additional metadata that TiVo doesn't have (additional actors, directors, etc.) MG3 will pull that from TVDB or you could add it yourself and pyTivo will pull it.
> I've attached a zip file for all the shows where I've saved programIds. Maybe it will save someone some time. A few words of caution:
> 
> Any series where episodes were broadcast with 2 episodes combined as 1, could have different programIds depending on whether you want the programId for the combined episode or only the 1st episode.
> Any series currently airing will be generating new programIds as long as it airs.
> It is often difficult if not impossible to find programIds for episodes that aired long ago or are not available in the TiVo DB, so not every episode has a programId.


I'm onboard now.

Are the knownMovieIds.txt and programIds.zip files for manual lookup and entry or are they somehow tied to the distroSeriesIds.txt file?


----------



## dlfl

Sparky1234 said:


> I'm onboard now.
> 
> Are the knownMovieIds.txt and programIds.zip files for manual lookup and entry or are they somehow tied to the distroSeriesIds.txt file?


Please review posts 359 and 361 for how the programId stuff works:
Metagenerator 3 -- Support & Downloads
You can unzip the programids.zip file @elprice7345 provided into the programIds subfolder of your mg3 data folder to augment your local programId data base. Normally this database is updated after you perform RPC programId searches for a tv series then save them using the button or right-click menu in the results tree.

The local seriesID database (knownSeriesIds.txt in the mg3 data folder) is updated whenever you perform a RPC seriesId search. It is also augmented when a distroSeriesIds.txt file is found in the mg3 runtime folder at startup -- usually as a result of being including in a new MG3 distrbution zip, after which the distro file is deleted.

The local movieId database (knownMovieIds.txt in the mg3 data folder) is updated whenever you perform a RPC programId search for a movie. It is also augmented when a distroMovieIds.txt file is found in the mg3 runtime folder at startup -- usually as a result of being including in a new MG3 distrbution zip, after which the distro file is deleted.

The distro approach for augmenting TV series programId's in the local database is not implemented because of the huge number of programId's that would be involved -- 10's or 100's of programId's for each seriesId. (Note the size of the zip file.) You can do a manual augmentation using programId files you trust from another user, e.g., the zip provided by @elprice7345, if you do it right and the files are not corrupt (i.e., you trust the source).


----------



## Sparky1234

dlfl said:


> Please review posts 359 and 361 for how the programId stuff works:
> Metagenerator 3 -- Support & Downloads
> You can unzip the programids.zip file @elprice7345 provided into the programIds subfolder of your mg3 data folder to augment your local programId data base. Normally this database is updated after you perform RPC programId searches for a tv series then save them using the button or right-click menu in the results tree.
> 
> The local seriesID database (knownSeriesIds.txt in the mg3 data folder) is updated whenever you perform a RPC seriesId search. It is also augmented when a distroSeriesIds.txt file is found in the mg3 runtime folder at startup -- usually as a result of being including in a new MG3 distrbution zip, after which the distro file is deleted.
> 
> The local movieId database (knownMovieIds.txt in the mg3 data folder) is updated whenever you perform a RPC programId search for a movie. It is also augmented when a distroMovieIds.txt file is found in the mg3 runtime folder at startup -- usually as a result of being including in a new MG3 distrbution zip, after which the distro file is deleted.
> 
> The distro approach for augmenting TV series programId's in the local database is not implemented because of the huge number of programId's that would be involved -- 10's or 100's of programId's for each seriesId. (Note the size of the zip file.) You can do a manual augmentation using programId files you trust from another user, e.g., the zip provided by @elprice7345, if you do it right and the files are not corrupt (i.e., you trust the source).


Ok, just to let you know what was confusing me here, I was missing knownMovieIds.txt, knownSeriesIds.txt, distroSeriesIds.txt and programIds subfolder in my MG3 folder. I plan to add them later and follow the script you provided, see attached compilation of your helpful postings. Sorry about my confusion and thanks for walking me through the fix.


----------



## dlfl

Sparky1234 said:


> Ok, just to let you know what was confusing me here, I was missing knownMovieIds.txt, knownSeriesIds.txt, distroSeriesIds.txt and programIds subfolder in my MG3 folder. I plan to add them later and follow the script you provided, see attached compilation of your helpful postings. Sorry about my confusion and thanks for walking me through the fix.


The files and subfolders you mention normally are created automatically by MG3 as needed. Only when you do special manual operations using files like @elprice7345 attached, would you have to create them manually, if MG3 had not already created them. Distro files would normally never be found anywhere except just after unzipping/installing a new MG3 distribution and before starting MG3 the first time thereafter.


----------



## Sparky1234

dlfl said:


> The files and subfolders you mention normally are created automatically by MG3 as needed. Only when you do special manual operations using files like @elprice7345 attached, would you have to create them manually, if MG3 had not already created them. Distro files would normally never be found anywhere except just after unzipping/installing a new MG3 distribution and before starting MG3 the first time thereafter.


Thanks. But I was still missing knownMovieIds.txt, knownSeriesIds.txt, and programIds subfolder. Is distro renamed knownSeriesIds.txt after first start of MG3?


----------



## elprice7345

Possible bug?

When I use MG3 to search for the series _Carriers at War_, I get no results.

I've used MG3 to rename episodes for this series in the past.

Carriers at War - TheTVDB.com


----------



## Sparky1234

elprice7345 said:


> Possible bug?
> 
> When I use MG3 to search for the series _Carriers at War_, I get no results.
> 
> I've used MG3 to rename episodes for this series in the past.
> 
> Carriers at War - TheTVDB.com



*TheTVDB.com Series ID* 348248


----------



## dlfl

Sparky1234 said:


> Thanks. But I was still missing knownMovieIds.txt, knownSeriesIds.txt, and programIds subfolder. Is distro renamed knownSeriesIds.txt after first start of MG3?


I tried to explain this in post 522 responding to you earlier:


> The local seriesID database (knownSeriesIds.txt in the mg3 data folder) is updated whenever you perform a RPC seriesId search. It is also augmented when a distroSeriesIds.txt file is found in the mg3 runtime folder at startup -- usually as a result of being including in a new MG3 distrbution zip, *after which the distro file is deleted.*


Augmented means any series ID's in the distro file that are not already in your local file are added to it.


----------



## Sparky1234

dlfl said:


> I tried to explain this in post 522 responding to you earlier:
> 
> Augmented means any series ID's in the distro file that are not already in your local file are added to it.


I get it now. Thanks.


----------



## dlfl

elprice7345 said:


> Possible bug?
> 
> When I use MG3 to search for the series _Carriers at War_, I get no results.
> 
> I've used MG3 to rename episodes for this series in the past.
> 
> Carriers at War - TheTVDB.com


Not a bug. The API returns just the series name but no data (overview, banner, etc.). I've modified MG3 to provide a descriptive message when this happens. The API continues to provide new failure modes not anticipated in my code!

The tvdb web page info for this series seems similarly devoid of info. Since you have prior experience with this series, it would probably make sense for you to pursue the issue.


----------



## elprice7345

dlfl said:


> Not a bug. The API returns just the series name but no data (overview, banner, etc.). I've modified MG3 to provide a descriptive message when this happens. The API continues to provide new failure modes not anticipated in my code!
> 
> The tvdb web page info for this series seems similarly devoid of info. Since you have prior experience with this series, it would probably make sense for you to pursue the issue.


Ahhh ... I added a series overview and MG3 now sees the series.

Let us know when you post the new test mode. Are there any other conditions that could cause this?


----------



## dlfl

elprice7345 said:


> Ahhh ... I added a series overview and MG3 now sees the series.
> 
> Let us know when you post the new test mode. Are there any other conditions that could cause this?


Wouldn't want to bet my life there aren't, but worrying about them is beyond the point of diminishing returns, IMO.


----------



## elprice7345

Responding to a post here: [URL="https://www.tivocommunity.com/community/index.php?threads/easier-to-use-pytivo.547836/page-107#post-11929927"]Easier to use pyTivo


Snacko said:


> I had this same problem. I think you need to have pyTivo running in the SysTray so it can talk to your Tivo. And I also think you need to go into the Settings and click on the Mind RPC button. This was not documented in the MG3 pdf. To set up the Mind RPC window you need to enter your Tivo.com username(your email address), Password, and the 15 character Tivo TSN found on your Tivo's Settings/System Info page. I think I also had to check the checkbox to the top to get it to work.


You don't need pyTivo running to use MG3. I suspect many users will be running pyTivo, but it isn't required to use MG3.

You do need to configure _Mind RPC _in the settings tab to retrieve the seriesIds and programIds.

I highly recommend downloading rpcSearch128.exe from here unless you're already running a Python environment: [URL="https://www.tivocommunity.com/community/index.php?threads/metagenerator-3-support-downloads.561237/"]Metagenerator 3 -- Support & Downloads


----------



## elprice7345

Possible bug?

Getting the programIds for Patriot Act with Hasan Minhaj by Season/Episode numbers and MG3 doesn’t find a programId for S05E07.

When I look at the generated RPC data file, I see a row for S05E07 with the correct episode title. I also see a row for the episode title, but without a season/episode number.

What’s tripping MG3 up?

FYI: When I search TiVo, I see the episode, “How America is Causing Global Obesity”, as an un-numbered episode.

MG3 message and data file attached.


----------



## dlfl

Notice the .ts in the only line in the data file for s5e7:

S5E[7]:tivo:cl.394790026--tivo:ct.ts.404335911%%Patriot Act with Hasan Minhaj: How America Is Causing Global Obesity

MG3 ignores RPC content id's that include "ct.ts" (rather than just "ct"). Frankly I can't remember why but I'm pretty sure there was a good reason. And notice that all the other episodes (which_ were_ found by MG3) have a line with just "ct" although some *also* have lines with "ct.ts". This appears to be the last episode aired in that series so perhaps after some delay the "ct" version will appear. I'm going to let this slide unless and until it becomes a bigger issue.


----------



## elprice7345

I agree @dlfl. The discussion regarding "ct.ts" was about 2 years ago and is about 1/2 way down this page: pyTivo Discussion Forum :: View topic - MetaGenerator Version 3

We definitely don't want to change that logic! I didn't notice the pattern or I wouldn't have brought it up.

Also, notice lines 2 & 40 of the file are:


Code:


Line 2: SNoneE[None]:tivo:cl.394790026--tivo:ct.417480262%%How America Is Causing Global Obesity
Line 40:S5E[7]:tivo:cl.394790026--tivo:ct.ts.404335911%%Patriot Act with Hasan Minhaj: How America Is Causing Global Obesity

If you search in the TiVo app _How America Is Causing Global Obesity _is listed with no episode number. So, even TiVo seems to ignore the "ct.ts" rows


----------



## elprice7345

Started seeing the RPC error "Check TiVo credentials" yesterday afternoon and still seeing it this morning.

Anyone else seeing this error?


----------



## itsayellow

Yes I've been having the same trouble lately.


----------



## Sparky1234

elprice7345 said:


> Started seeing the RPC error "Check TiVo credentials" yesterday afternoon and still seeing it this morning.
> 
> Anyone else seeing this error?


It was working for me on Monday but have not checked it since.


----------



## dlfl

elprice7345 said:


> Started seeing the RPC error "Check TiVo credentials" yesterday afternoon and still seeing it this morning.
> 
> Anyone else seeing this error?


I'm seeing this too. Trying to find the cause. Please no further reports on this, except to report it has *stopped* happening.


----------



## elprice7345

elprice7345 said:


> Started seeing the RPC error "Check TiVo credentials" yesterday afternoon and still seeing it this morning.
> 
> Anyone else seeing this error?


Working for me this morning. Another TiVo middlemind glitch?

Wow... between the TiVo glitch and the TVDB slowness/downtime this weekend ...


----------



## dlfl

Ver. 3.90 released. See first post for downloads and changes. This version is almost functionally identical to test distro 3.90C9 but includes a couple of improvements in handling unexpected errors in theTVDB results.


----------



## elprice7345

Feasibility of MG3 Retrieving TV Metadata from TMDB?

@dlfl - would you be interested in adding TMDB as a source for TV metadata? I know you like to keep your programming skills in up to date. 

The application I use to manage my media, JRiver Media Center may be forced to switch from looking up metadata from TVDB to TMDB because of licensing issues.

I don't know that it is necessary yet, just asking what kind of effort is required on your part and if you have any interest?

If we go down that road, I would be happy to do all the testing required.

Some Background:
I use JRMC to manage all my media - photos, music, movies, & TV shows. It is a great application with a lot of capability for a very reasonable price.

My high-level process:

Download from TiVo
Rename with MG3 to match TVDB metadata
Manage with JRMC
Pull to TiVo and play
Recently, TVDB was purchased by Whip Media and they have subsequently raised the licensing fees. This led to JRiver not licensing and then TVDB cutting off API access to JRMC: TheTVDB lookup broken


----------



## dlfl

elprice7345 said:


> Feasibility of MG3 Retrieving TV Metadata from TMDB?
> 
> @dlfl - would you be interested in adding TMDB as a source for TV metadata? I know you like to keep your programming skills in up to date.
> 
> The application I use to manage my media, JRiver Media Center may be forced to switch from looking up metadata from TVDB to TMDB because of licensing issues.
> 
> I don't know that it is necessary yet, just asking what kind of effort is required on your part and if you have any interest?
> 
> If we go down that road, I would be happy to do all the testing required.
> 
> Some Background:
> I use JRMC to manage all my media - photos, music, movies, & TV shows. It is a great application with a lot of capability for a very reasonable price.
> 
> My high-level process:
> 
> Download from TiVo
> Rename with MG3 to match TVDB metadata
> Manage with JRMC
> Pull to TiVo and play
> Recently, TVDB was purchased by Whip Media and they have subsequently raised the licensing fees. This led to JRiver not licensing and then TVDB cutting off API access to JRMC: TheTVDB lookup broken


Probably could do that, as you say, if necessary. I recently added movie metadata lookup via TMDB to another program I author, VAP6 (link in signature) and I noticed then that apparently TMDB also provides TV show info.

Of course MG3 doesn't pay for theTVDB since it's a free program. I would wonder if they would want to start restricting free access since, as I understand it, their database is updated by volunteers (such as yourself) who presumably would be reluctant to continue that work if their reward was to have to pay for access. I suppose they could implement a rate structure based on query counts but I would wonder if MG3 would even hit such a limit given the small number of users lately, at least based on download counts in the first post.


----------



## elprice7345

Thanks for the response @dlfl! I'll keep you posted regarding JRiver/TVDB negotiations

The main TVDB guy did respond to my post on the JRiver thread, so maybe there's hope. 

No progress yet, but I expect it could take a few days to sort out licensing issues between companies.


----------



## Soapm

This explains it, I went to rename a movie today and it times out no matter what movie name I put in.


----------



## dlfl

Soapm said:


> This explains it, I went to rename a movie today and it times out no matter what movie name I put in.


??? TVDB problems would not explain movie lookup issues, since movie searches use only TMDB.


----------



## Soapm

dlfl said:


> ??? TVDB problems would not explain movie lookup issues, since movie searches use only TMDB.


I guess something was down last night because it's working now. Thanks.


----------



## elprice7345

@dlfl - It looks like my media management app, JRMC, isn't going to resume integrating with TVDB and all future metadata will be retrieved from TMDB.

What will it take to add TMDB as a source for metadata for MG3?

What can I do to help?


----------



## dlfl

elprice7345 said:


> @dlfl - It looks like my media management app, JRMC, isn't going to resume integrating with TVDB and all future metadata will be retrieved from TMDB.
> 
> What will it take to add TMDB as a source for metadata for MG3?
> 
> What can I do to help?


I'm in the mood for a programming exercise so I'll work on it.


----------



## elprice7345

Thanks @dlfl!

Let me know what I can do to help!


----------



## dlfl

Progress report: TMDb sourcing of TV Series metadata is breathing to the point where it searches and lists series. It provides a "name" and an "original name" for each series, which usually are the same. Any idea which one is preferable for MG3 purposes?


----------



## elprice7345

dlfl said:


> Progress report: TMDb sourcing of TV Series metadata is breathing to the point where it searches and lists series. It provides a "name" and an "original name" for each series, which usually are the same. Any idea which one is preferable for MG3 purposes?


Good news on your progress! 

I'm not sure about the names @dlfl? It probably has something to do with language?

TV series on TMDB can have "Original Name", "Translated Name", and "Alternative Name".

Take a look at this South Korean series with the series title translated into several languages: https://www.themoviedb.org/tv/70593/edit?active_nav_item=primary_facts

Here's another example from Sweden:
https://www.themoviedb.org/tv/45016-bron-broen/edit?active_nav_item=primary_facts

Let me know if that helps.


----------



## dlfl

Try test distro ver 3.91T5 in attached zip.
Ver. 3.91T5 (2 August 2020)
Enhanced: Can select TMDb database for TV Series searches. (Test version)

The database selection is persistent between runs.

@elprice7345 I can't remember why we included the tvdb id as the last item on each line in the knownSeriesIds.txt file. I think it was done just as a convenience, perhaps for your use? It is also available via the TMDb API, so I have continued to put it there, even when searching TMDb.


----------



## elprice7345

Thanks @dlfl! Busy today ... will try to test tomorrow.


----------



## dlfl

@elprice7345 I found the following on the old pyTiVo forum, which explains why the TVDB ID was included on knownSeriesIds lines:
====================================
@dlfl wrote:
Surprised at your desire for the TVDB seriesId. What potential use do you envision for that? The other 3 items are the same ones that MG3 needs for internal use to avoid repeating seriesId RPC searches.

@elprice7345 response:
Not sure that we do need it. I'm just looking down the road to the time if and when we load these results into TVDB. Loading data is much easier if you have the unique ID rather than the name.

If it's more work for you, leave it out. We don't know if we'll ever be able to put the TiVo seriesId in the TVDB.







Just trying to future proof a little ... 
====================================

What do you think about removing that item? Backwards compatibility would be maintained of course.


----------



## elprice7345

Sorry @dlfl, I'm still tied up and it will be later this week before I can give you any feedback.


----------



## Karen St Martin

I just found out about MetaDataGenerator and used it on my movie files and it worked perfectly. When I tried it on my TV Series videos it renamed ALL of them to Sesson Number+Episode Number. Does anyone how a clue as to what is going on?

Thanks!

Karen


----------



## PSU_Sudzi

Karen St Martin said:


> I just found out about MetaDataGenerator and used it on my movie files and it worked perfectly. When I tried it on my TV Series videos it renamed ALL of them to Sesson Number+Episode Number. Does anyone how a clue as to what is going on?
> 
> Thanks!
> 
> Karen


There are settings in it I believe that will rename items for you, check through them and adjust as needed.


----------



## elprice7345

Karen St Martin said:


> I just found out about MetaDataGenerator and used it on my movie files and it worked perfectly. When I tried it on my TV Series videos it renamed ALL of them to Sesson Number+Episode Number. Does anyone how a clue as to what is going on?
> 
> Thanks!
> 
> Karen


@PSU_Sudzi is correct.

Click the gear icon to open the settings tab and look at the TV Show template. I don't remember what the default is.

At the bottom left of the same screen, there is a drop-down with the list of available metadata tags.

My template is {title}-S{seasonnum}E{epnum}-{eptitle} which yields: "The 100-S07E01-From the Ashes.ts"


----------



## dlfl

Try test distro 3.91T6 in attached zip, which has the following changes relative to released version 3.90:
*EDIT:* Attachment removed - superseded by later test versions.

Ver. 3.91T6 (3 Sept 2020)
Changed: knownSeriesIds.txt line format no longer includes tvdbId as last item.
Ver. 3.91T5 (2 August 2020)
Enhanced: Can select TMDb database for TV Series searches. (Test version)

Note that knownSeriesIds.txt files having the previous format (tvdbId as last item on line) will be successfully read in but your knownSeriesIds.txt file will be replaced by one with the newer format. Thus if you want to preserve compatibility with MG3 versions 3.91T5 or earlier you should save off the knownSeriesIds.txt file before running 3.91T6. You will then have to replace with the saved version before running the older MG3 versions. (knownSeriesIds.txt is located in your metagenerator app data folder: C:\Users\<login_name>\AppData\Roaming\Metagenerator)


----------



## elprice7345

@dlfl Here's my 1st round of feedback testing Ver. 3.91T6. I'm splitting up my post into different subjects to hopefully make it more digestible.

*What to do when TVDB and TMDB Series Titles differ?*

Searching for "Yellowstone" in MG3 using TMDB displays 2 series with the name "Yellowstone" and you can't tell which is which without double-clicking the series title and populating the series metadata. The TVDB rule is that all series titles should be unique with the release year or country as a suffix, but TMDB doesn't enforce a similar rule.

For example, "Yellowstone", the nature series, is "Yellowstone (2009)" in TMDB and "Yellowstone" in TVDB. "Yellowstone" the ongoing western series is "Yellowstone (2018)" in TMDB and TVDB.

Another example, the UK version of "The Office", is "The Office (2001)" in TMDB and "The Office" In TVDB. The US version of "The Office", is "The Office (2005)" in TMDB and "The Office (US)" in TVDB.

Search results on the TMDB web page show each series with a poster beside the result, so its easy to see which one you want. After you click on "Yellowstone", the western series, you see the title displayed as "Yellowstone (2018)". TMDB concatenates the year from the OAD of S01E01 for all series at the top of the series web page.

Your thoughts: Should we concatenate the series year to the title in the TMDB search results? I assume TMDB derives the series year from the OAD of the 1st episode, but I'm not sure.

How do you think we should handle the difference in titles with the knownSeriesIds.txt and programId.txt files? How do we handle programIds in situations where the season and episode numbers differ between the web sites?


----------



## elprice7345

*How to handle Series cover art in MG3?*

For TVDB searches, MG3 loads a banner (758x140) at the bottom of the window that makes the search results more appealing and also helps identify the series. For TMDB searches, MG3 appears to be loading the series "poster", which is a more vertical image (2:3). TMDB doesn't have "banner" art.

Ideas:

MG3 could not load banner art for TMDB searches?
MG3 load a "backdrop" image which is a horizontal (16x9) image?
Reconfigure the MG3 screen to load a "poster" image (2:3) when searching either service?
Other ideas?


----------



## elprice7345

*Episode metadata *all looks good except for the content rating is missing for TMDB searches. It looks like TMDB stores this at the series level and TVDB stores this at the episode level.

Can you add it?


----------



## elprice7345

I've attached new versions for the knownSeriesIds.txt and knownMovieIds.txt.


----------



## elprice7345

Random question of the day: What are “Primary Genres” and how are they meant to be used?

I've never messed with them and don't recall their purpose.


----------



## dlfl

elprice7345 said:


> Random question of the day: What are "Primary Genres" and how are they meant to be used?
> 
> I've never messed with them and don't recall their purpose.


Added circa 2011 and my memory about it is very hazy. I had to research it in the old pyTiVo MG3 thread. Looks like it is/was used by a program called VIDMGR,which works in conjunction with pyTiVo. I don't know if anyone still uses VIDMGR. The feature addresses the problem that hundreds of genre words are provided by data sources and VIDMGR didn't like that. The primary genres are put in the pyTiVo .txt metadata file with the tag vPrimaryGenre and VIDMGR apparently uses those as a limited set to reduce the confusion. Here is a description of how MG3 handles them:

pyTivo Discussion Forum :: View topic - MetaGenerator Version 3

Most (or all?) MG3 users can just ignore this feature but I am reluctant to remove it in case someone still uses it - and there is no significant performance penalty for retaining it.


----------



## elprice7345

dlfl said:


> Added circa 2011 and my memory about it is very hazy. I had to research it in the old pyTiVo MG3 thread. Looks like it is/was used by a program called VIDMGR,which works in conjunction with pyTiVo. I don't know if anyone still uses VIDMGR. The feature addresses the problem that hundreds of genre words are provided by data sources and VIDMGR didn't like that. The primary genres are put in the pyTiVo .txt metadata file with the tag vPrimaryGenre and VIDMGR apparently uses those as a limited set to reduce the confusion. Here is a description of how MG3 handles them:
> 
> pyTivo Discussion Forum :: View topic - MetaGenerator Version 3
> 
> Most (or all?) MG3 users can just ignore this feature but I am reluctant to remove it in case someone still uses it - and there is no significant performance penalty for retaining it.


Thanks for the history lesson @dlfl! 

I agree. I wouldn't mess with it. I don't use genres too much and I was just curious about its history.


----------



## dlfl

Try test distro ver. 3.91T8 in attached zip. Also includes knownSeriesIds and knownMovieIds updates courtesy of @elprice7345.
*EDIT:* Attachment removed - superseded by later test versions.

This version has the following changes relative to last released version (3.90):
Enhanced: Multiple series having identical names (e.g., The Office per TMDb) are assigned unique names by appending first-aired year, e.g., The Office (2005).
Enhanced: Poster image displayed for series when using TMDb.
Changed: knownSeriesIds.txt line format no longer includes tvdbId as last item.
Enhanced: Can select TMDb database for TV Series searches.
Fixed: Content ratings for Series retrieved from TMDb


----------



## dlfl

Try test distro ver. 3.91T9 in the attached zip.
*EDIT:* Attachment removed -- superseded by later test version.

Has the following changes relative to distributed version 3.90:

Ver. 3.91T9 (8 Sept 2020)
Fixed: Problems/failures of season/ep get PID's and load/save PID's caused by unique series names.
Fixed: UI cleanup related to TVDb poster art display and switching between TV series data sources.
Ver. 3.91T8 (7 Sept 2020)
Enhanced: Multiple series having identical names (e.g., The Office per TMDb) are assigned unique names by appending first-aired year
e.g., The Office (2005).
 Enhanced: Poster image displayed for series when using TMDb.
Ver. 3.91T6 (3 Sept 2020)
Changed: knownSeriesIds.txt line format no longer includes tvdbId as last item.
Ver. 3.91T5 (2 August 2020)
Enhanced: Can select TMDb database for TV Series searches. (Test version)


----------



## dlfl

elprice7345 said:


> @dlfl Here's my 1st round of feedback testing Ver. 3.91T6. I'm splitting up my post into different subjects to hopefully make it more digestible.
> 
> *What to do when TVDB and TMDB Series Titles differ?*
> 
> Searching for "Yellowstone" in MG3 using TMDB displays 2 series with the name "Yellowstone" and you can't tell which is which without double-clicking the series title and populating the series metadata. The TVDB rule is that all series titles should be unique with the release year or country as a suffix, but TMDB doesn't enforce a similar rule.
> 
> For example, "Yellowstone", the nature series, is "Yellowstone (2009)" in TMDB and "Yellowstone" in TVDB. "Yellowstone" the ongoing western series is "Yellowstone (2018)" in TMDB and TVDB.
> 
> Another example, the UK version of "The Office", is "The Office (2001)" in TMDB and "The Office" In TVDB. The US version of "The Office", is "The Office (2005)" in TMDB and "The Office (US)" in TVDB.
> 
> Search results on the TMDB web page show each series with a poster beside the result, so its easy to see which one you want. After you click on "Yellowstone", the western series, you see the title displayed as "Yellowstone (2018)". TMDB concatenates the year from the OAD of S01E01 for all series at the top of the series web page.
> 
> Your thoughts: Should we concatenate the series year to the title in the TMDB search results? I assume TMDB derives the series year from the OAD of the 1st episode, but I'm not sure.
> 
> How do you think we should handle the difference in titles with the knownSeriesIds.txt and programId.txt files? How do we handle programIds in situations where the season and episode numbers differ between the web sites?


Check out how the latest test version handles The Office and Yellowstone for the two data sources. As illustrated in these cases, there will be only a few cases of duplicate entries in the KnownSeriesIds.txt file, e.g., "Yellowstone" (from TVDB) and "Yellowstone (2009)" (from TMDb) will have distinct lines, both providing the same seriesId value. Similar result for "The Office (US)" and "The Office (2005)". The additional few lines are no significant overhead. Note that the RPC TiVo seriesID search uses just the base name (without the year or "(US)") and the operator then must select the correct series from the list of results (as always).

Regarding complications resulting from inconsistent assignments of Season/Episode numbers by the three databases (theTVDB. TMDb, and TiVo), this is not a new issue and I see no practical automated way to handle them.


----------



## Soapm

This is strange, I find weapons at war at tvdb Weapons at War - TheTVDB.com but metagenerator doesn't find it. Any idea's what could be up?


----------



## elprice7345

Soapm said:


> This is strange, I find weapons at war at tvdb Weapons at War - TheTVDB.com but metagenerator doesn't find it. Any idea's what could be up?


I believe it's because no one has added a description for the series. It shows up in the left window of MG3, but when you double-click the title MG3 doesn't see the episode info.

Any you see "(??)" in MG3 in front of a series title, that's the most common fix.

Try adding a description at the series level on TVDB and see if it works. It might take a few hours for the data to propagate through the TVDB network.


----------



## Soapm

Rodger that, thanks

I can't figure out how to edit the show. They sure made that site hard to navigate.

Wow, they sure made it hard but I think I figured it out.


----------



## elprice7345

Soapm said:


> Rodger that, thanks
> 
> I can't figure out how to edit the show. They sure made that site hard to navigate.
> 
> Wow, they sure made it hard but I think I figured it out.


It looks like you figured it out. I see a description now.

I don't see the update in MG3 yet, but that could take several hours.


----------



## dlfl

elprice7345 said:


> I believe it's because no one has added a description for the series. It shows up in the left window of MG3, but when you double-click the title MG3 doesn't see the episode info.
> 
> Any you see "(??)" in MG3 in front of a series title, that's the most common fix.
> 
> Try adding a description at the series level on TVDB and see if it works. It might take a few hours for the data to propagate through the TVDB network.


This is probably related to the handling of series that are missing an "overview" (i.e., description) in English as discussed in post #474.


----------



## elprice7345

dlfl said:


> This is probably related to the handling of series that are missing an "overview" (i.e., description) in English as discussed in post #474.


Apparently it was.

The overview has been added and now MG3 sees the series data properly.


----------



## elprice7345

*T9 Testing Feedback*
I like the UI changes incorporating the TMDB posters vs. the TVDB banners! Good work @dlfl!

I also like the series year added to the series title in the search results! Between the concatenated year and the poster being visible, the UI is much improved!

The content rating is now in the episode metadata.


----------



## elprice7345

*Duplicate Series Titles*
For series titles that match exactly, can you have the search results sort by series year? For example, the TMDB has 6 series with the title "The Office" and various years.

After researching TMDB rules, they don't allow adding country or year to series titles. I see this as a problem, because, in my opinion, series titles are the primary identifier (for humans vs. databases) for a series. If I happen to be a fan of shows with the title "The Office", I could have up to six in my list!

The simplest way to address this is to concatenate the year in parentheses to the series title when duplicates exist (I believe this is what you've done for programIds). I don't think we want or need to append the year to series with unique titles.

In the case of duplicate series titles, can you add the parenthetical year to the series title when renaming?

If you need other series for testing, use the knownSeriesIds.txt file and look for entries with parentheticals.


----------



## elprice7345

*Episode groups*
TMDB has a feature they call episode groups that allows users to create new groups of episodes with alternative orders.

TMDB doesn't allow seasons to be named by years (2018, 2019, etc.) as the TVDB does, only ordinal numbers (1,2,3 etc.).

To me, this is an unnecessary restriction. Seasons by year using OAD are a great solution for documentaries that may be referenced by years and/or ordinals. With years, its very clear which season an episode belongs to. With ordinals, there's usually some disagreement.

A great example is the PBS series Frontline. Once upon a time (and in some current references), Frontline seasons were numbered with ordinals. Sometime in the last few years, they switched to years.

To get Frontline on TMDB to match the PBS website, I created an episode group here: Frontline

Can you get MG3 to give users the option to use a specified episode group vs. the default TMDB order? The user should be able to set this option at the series level.


----------



## dlfl

Try test distro ver. 3.91T10 in attached zip.
*EDIT:* Attachment removed - superseded by later test version.

Ver. 3.91T10 (14 Sept. 2020)
*Enhanced:* In TV series search results list, multiple shows with same name but different premiere year are sorted by year order.
*Enhanced:* TV series titles that have (<year>) appended, retain the appended year in output file and path renaming.

@elprice7345 , I will look into the episode group thing next.


----------



## dlfl

@elprice7345
The TMDb API does support Episode Groups. Here is a result I get for your Frontline group. The long id can be used in another API call to get the episode details of the group:



Code:


{
  "results": [
    {
      "description": "Created to match the current PBS website episode numbering",
      "episode_count": 38,
      "group_count": 3,
      "id": "5f59348356b9f70035750bd2",
      "name": "Seasons by Year",
      "network": {
        "id": 14,
        "logo_path": "/d4OH7tMO4ece61s4j7mJWqQejv.png",
        "name": "PBS",
        "origin_country": "US"
      },
      "type": 1
    }
  ],
  "id": 4384
}

Question: Regarding description, and name, are those furnished by you when you create the group?
Also, the type value of 1 I believe indicates the group is defined by Original Air Date. There are 7 grouping types altogether.

I'm wondering about what filtering to use to be sure I get only groups suitable for your year-based seasons, since in general other groups, even multiple groups for a single series could have been defined.

What parameters do you specify to create the group? Is the grouping done automatically by TMDb based on your parameters or do you have to manually select episodes within each year?


----------



## dlfl

@elprice7345 
Another question: why is the 2018 episode list empty?


----------



## elprice7345

dlfl said:


> Question: Regarding description, and name, are those furnished by you when you create the group?


Yes. I created, named, and described the overall Episode Group. I also created and named each "sub-group"/season. The names and descriptions are pretty free form without many restrictions.



dlfl said:


> Also, the type value of 1 I believe indicates the group is defined by Original Air Date. There are 7 grouping types altogether.


I'm not sure what effect the type has on the episode group, but OAD seemed the closest to what I was trying to do, so that's what I picked. The OAD type is 1st on the pick list, so I'm guessing it's #1.



dlfl said:


> I'm wondering about what filtering to use to be sure I get only groups suitable for your year-based seasons, since in general other groups, even multiple groups for a single series could have been defined.


I'm not sure. Could you make the episode group selectable by the user? If that's too much trouble, maybe filter for episode groups with years?



dlfl said:


> What parameters do you specify to create the group? Is the grouping done automatically by TMDb based on your parameters or do you have to manually select episodes within each year?


I had to create each season/year and add the appropriate episodes manually.



dlfl said:


> Another question: why is the 2018 episode list empty?


I was testing what happens when I create an earlier season. I started with 2019 and 2020 and then added 2018. TMDB lets you add new seasons in the episode group and manually assign sort order. If I wanted to add episodes all the way back to the 1st Frontline season, I'd have to add them and then manually change the sort order. I just haven't gotten around to adding any episodes to 2018.


----------



## dlfl

@elprice7345 
Seems like a lot of manual work is required to create episode groups. Do you plan to do many of them? Are there groups similar to yours created by other people? If so, let me know some sample series that have them.

I've got a test version of MG3 that can use the group you created. It will work for any group of type 1 that has season numbers that are years. I'm thinking it should also check the name of the group and only use it if it is "Seasons by Years".

The episodes in your group are in OAD order. Did TMDb automatically sort them or did you have to impose the order by the way you added them?


----------



## dlfl

Try test distro Ver. 3.91T12 in attached zip.
*EDIT:* Attachment removed. Superseded by later test version.
Ver. 3.91T12 (18 Sept. 2020)
Enhanced: Can process TMDb series that have an Episode Group based on seasons by year.

If TMDb is selected as the TV Series data source, a checkbox called "Try Ep Groups" will appear.
If checked, when you select a series, MG3 will look for a suitable episode group for the series and will use it to provide the search results, which will have episodes grouped into year seasons based on their actual air date (rather than the normal season number). If no suitable group exists, a message appears and you will have to search the series the normal way (without the checkbox being checked).

The only series I know of currently that supports this is FrontLine (1983), which has groups entered into TMDb by @elprice7345 . It covers years 2018, 2019 and 2020, although no episodes have been entered for 2018. Note that in the results tree the seasons have names like "Season 2019" and an extra s#e# is prepended to each episode title -- these are the season/episode numbers originally assigned in TMDb.

Also note that when exporting series or seasons automatically, only the "Title" selection for "Auto-match mode" should be used. It's possible the "AirDate" mode will also work -- I haven't tested it. However "Hybrid" and "SeasonEp" will not work because of the season-by-year thing. (these limitations apply only when processing a series with episode grouping by years.)

MG3 only accepts Episode Grouping satisfying these conditions:
1. They are type 1, which is an "original air date" grouping.
2. The group names are years (i.e. a four-digit number)


----------



## elprice7345

dlfl said:


> @elprice7345
> Seems like a lot of manual work is required to create episode groups. Do you plan to do many of them? Are there groups similar to yours created by other people? If so, let me know some sample series that have them.
> 
> I've got a test version of MG3 that can use the group you created. It will work for any group of type 1 that has season numbers that are years. I'm thinking it should also check the name of the group and only use it if it is "Seasons by Years".
> 
> The episodes in your group are in OAD order. Did TMDb automatically sort them or did you have to impose the order by the way you added them?


It is a lot of manual work and therefore I don't plan on creating many. I don't usually worry about season and episode numbers for documentaries, because order and grouping don't usually matter. For Frontline specifically, PBS has changed their official numbering to use years and TMDB doesn't want to change.

Regarding order - I have to manually set the order. It's not hard, but it is manual.

Let me do some more research in the TMDB forums about episode groups and play with the new MG3 test version.

I'll get back with you this weekend.


----------



## dlfl

I found a huge series that has a season-by-year episode group that MG3 can process: "Case Closed"

The years ("seasons") go from 1996 to 2018 and there are 903 episodes, all of them assigned season 1 on TMDb.


----------



## dlfl

MG3 could organize any series into seasons-per-year, just by using the original air date of each episode. For either data source and not requiring episode grouping.


----------



## PSU_Sudzi

I haven't used this in a while since I haven't had much to upload to my TiVo but was curious, will this stop working when the TiVo API is shut down in December? I don't remember if it makes any calls to it?


----------



## dlfl

PSU_Sudzi said:


> I haven't used this in a while since I haven't had much to upload to my TiVo but was curious, will this stop working when the TiVo API is shut down in December? I don't remember if it makes any calls to it?


Only the RPC calls, used to get seriesId's and programId's, will stop working then.


----------



## elprice7345

dlfl said:


> MG3 could organize any series into seasons-per-year, just by using the original air date of each episode. For either data source and not requiring episode grouping.


That could be a much simpler answer @dlfl! Let me give it some thought.


----------



## ButchKy

I'm looking for any help or suggestions. I've been using MG3 for many years with no problems. I recently did a clean install of windows 10 and cannot get MG3 to work. I keep getting the message: error getting seriesid:rpc returned nothing. I've been trying for days, trying dozens of different shows. I've got all my info in the settings, tivo username, password, tivo tsn, and I have rpcsearch128.exe in the same folder as MG3. Any help would be appreciated. Thanks.


----------



## dlfl

ButchKy said:


> I'm looking for any help or suggestions. I've been using MG3 for many years with no problems. I recently did a clean install of windows 10 and cannot get MG3 to work. I keep getting the message: error getting seriesid:rpc returned nothing. I've been trying for days, trying dozens of different shows. I've got all my info in the settings, tivo username, password, tivo tsn, and I have rpcsearch128.exe in the same folder as MG3. Any help would be appreciated. Thanks.


Puzzling, seems you are doing everything right. Just as a long shot, try placing the MG3 distributed files in a folder other than Program Files or Program Files (x86), if not already doing so.

Follow this procedure when extracting MG3 distribution files:
1. After downloading the distro .zip file, right-click it and view properties. If there is a button or checkbox to "unlock" the file, do it.
2. Select and permanently delete (Shift-Del) all the files in the MG3 runtime folder. This may prompt you for administrator credentials.
3. Open the zip as a compressed folder in Explorer.
4. Select all files (Ctrl-A), right-click and select copy.
5. In the runtime folder, right-click and select paste. You may be prompted for administrator credentials.

Use same procedure for the rpcSearch128.zip download.

What version of MG3?


----------



## ButchKy

Followed your procedures and still same error. I've tried putting the MG3 files in many different folders. I am using V3.91T12. I've tried using older versions too and get the same results. I've tried everything I can think of, don't know what else to try. Your input is appreciated.


----------



## dlfl

ButchKy said:


> Followed your procedures and still same error. I've tried putting the MG3 files in many different folders. I am using V3.91T12. I've tried using older versions too and get the same results. I've tried everything I can think of, don't know what else to try. Your input is appreciated.


What version of Win 10 ?

Is it possible your router is blocking a port that the RPC calls to TiVo use?

Try turning off Windows Defender.


----------



## ButchKy

Everything looks fine. I'm using Windows 10 Home.


----------



## ButchKy

I deleted all Metagenerator files from my computer including files that were in appdata/roaming folder. Downloaded all the files again, put in my tivo infomation and all of a sudden it started working for me!!  I don't know what changed but I am so glad it is working now. I use this program so much. Thanks for all the help and suggestions.


----------



## elprice7345

*Feedback on Episode Groups*
Summary: After thinking about it some more, implementing TMDB episode groups isn't worth it for me, but offering a grouping by OAD year is.

As I mentioned in an earlier post, my reason for asking to add the TMDB as a data source, was because my media management app, JRMC, switched from retrieving metadata from TVDB to TMDB.

Over the years, I've learned customizing technology complicates the original implementation as well as any changes made in the future. As such, it's best to keep things simple.

My goal is to reference my media to an authoritative source, now TMDB, to look up metadata. I rarely, if ever, care about anything other than OAD episode order. I believe the TVDB approach of numbering many documentary seasons by OAD year is a better approach than using ordinal season numbers, but that isn't my call. Since this is the primary discrepancy I've seen between TVDB and TMDB season/episode numbering, I don't think adding the episode groups to MG3 is a good use of our time.

I think it's best for me to bite the bullet and "rename/renumber" my media to match the TMDB. The transition sucks (for me), but it will be simpler over the long run.

I think your suggestion is the best approach:


dlfl said:


> MG3 could organize any series into seasons-per-year, just by using the original air date of each episode. For either data source and not requiring episode grouping.


If you still want to proceed with TMDB episode group, I will be happy to test, especially since I requested it! Sorry to send us down a rabbit hole! 

I would change your "Try Ep Groups" check box to something like "Group Seasons by Year".


----------



## elprice7345

*Series Posters*
I like the series posters that appear over the season/episode info! It looks very nice! If I click a series the cover art appears, but I can't make the poster go away without redoing the TMDB search. Can you provide some way to make the poster go away when I'm ready to see the series info?


----------



## elprice7345

*TMDB Slowness*
Retrieving TMDB data for series with many seasons/episodes can take quite a while. Have you experienced this? Is there anything to be done on our side? Is it a TMDB issue? Retrieving data for Frontline on TVDB is nearly instantaneous, while TMDB took 50-55 seconds.


----------



## elprice7345

*T10-12 Testing*


dlfl said:


> *Enhanced:* In TV series search results list, multiple shows with same name but different premiere year are sorted by year order.


Tested and working



dlfl said:


> *Enhanced:* TV series titles that have (<year>) appended, retain the appended year in output file and path renaming.


The file is renamed with the series year concatenated, but the series year doesn't appear in the MG3 metadata window or in the resulting metadata file.


----------



## dlfl

elprice7345 said:


> *TMDB Slowness*
> Retrieving TMDB data for series with many seasons/episodes can take quite a while. Have you experienced this? Is there anything to be done on our side? Is it a TMDB issue? Retrieving data for Frontline on TVDB is nearly instantaneous, while TMDB took 50-55 seconds.


Yes I noticed this immediately and mentioned it in one post of our private conversation (3 Sep 2020). My guess is this results from having to make more internet queries due to different structures of the two API's. Or perhaps the TMDb servers are just slower. I don't have any ideas on how to speed it up.


----------



## dlfl

elprice7345 said:


> *T10-12 Testing*
> 
> Tested and working
> 
> The file is renamed with the series year concatenated, but the series year doesn't appear in the MG3 metadata window or in the resulting metadata file.


Just to make my job a little easier, please provide an example or two. Note that this applies only to series titles that include the year in parens *in the database itself* (not just added by MG3).


----------



## dlfl

elprice7345 said:


> *Series Posters*
> I like the series posters that appear over the season/episode info! It looks very nice! If I click a series the cover art appears, but I can't make the poster go away without redoing the TMDB search. Can you provide some way to make the poster go away when I'm ready to see the series info?


I'll work on this.


elprice7345 said:


> *Feedback on Episode Groups*
> Summary: After thinking about it some more, implementing TMDB episode groups isn't worth it for me, but offering a grouping by OAD year is.
> 
> As I mentioned in an earlier post, my reason for asking to add the TMDB as a data source, was because my media management app, JRMC, switched from retrieving metadata from TVDB to TMDB.
> 
> Over the years, I've learned customizing technology complicates the original implementation as well as any changes made in the future. As such, it's best to keep things simple.
> 
> My goal is to reference my media to an authoritative source, now TMDB, to look up metadata. I rarely, if ever, care about anything other than OAD episode order. I believe the TVDB approach of numbering many documentary seasons by OAD year is a better approach than using ordinal season numbers, but that isn't my call. Since this is the primary discrepancy I've seen between TVDB and TMDB season/episode numbering, I don't think adding the episode groups to MG3 is a good use of our time.
> 
> I think it's best for me to bite the bullet and "rename/renumber" my media to match the TMDB. The transition sucks (for me), but it will be simpler over the long run.
> 
> I think your suggestion is the best approach:
> 
> If you still want to proceed with TMDB episode group, I will be happy to test, especially since I requested it! Sorry to send us down a rabbit hole!
> 
> I would change your "Try Ep Groups" check box to something like "Group Seasons by Year".


I arrived at this position long ago - glad you agree. I'm dumping the ep groups stuff and will implement seasons by year.


----------



## elprice7345

Regarding *TMDB Slowness: *I thought so &#8230; hoping you could manufacture another miracle! 

Regarding *Feedback on Episode Groups: *Excellent!



dlfl said:


> Just to make my job a little easier, please provide an example or two. Note that this applies only to series titles that include the year in parens *in the database itself* (not just added by MG3).


For series with the same title, such as "The Office", I would like to see the "series start year" appended to the file name (already happening) and the series title in the metadata (not happening yet).

I believe the "series start year" is derived in TMDB from the OAD of the 1st episode and isn't part of the series title. As such, MG3 would have to derive it as well and concatenate it to the TMDB series title.

TMDB doesn't allow series titles to include the year. From their contribution bible: "There should be no extra info such as the year of release "MacGyver (2016)" or a country code "Shameless (US)" added to the titles."

Instead of:
seriesTitle : The Office
title : The Office

It should be:
seriesTitle : The Office (2005)
title : The Office (2005)

Or:
seriesTitle : The Office (2001)
title : The Office (2001)


----------



## dlfl

Try test distro Ver. 3.91T14 in attached zip.
*EDIT*: Attachment removed -- superseded by later test version
Ver. 3.91T14
*Changed:* Episode group by years stuff dumped -- Seasons by year implemented for both TMDb and TVDB.com cases.
*Changed:* title and seriesTitle include appended (<year>) in metadata when titles are identical for multiple shows (TMDb)
*Fixed:* Series tree didn't clear when series search results list selected item changed.

@elprice7345 , I think I've addressed everything we discussed. It's a major mod, so not surprising if some bugs were introduced. When using Seasons by year, cases where some or all episodes of a series do not have air dates have to be handled. If none have dates, message is given and no series/episode tree is presented. If some, but not all, have dates, only episodes with dates are displayed in the tree, and appropriate messages are given. To see episodes that had no date, you will have to redo the search with Seasons by year unchecked.


----------



## elprice7345

*Seasons by year*
If I'm going to bite the bullet and "rename/renumber" my media to match the TMDB, I'm not sure I can come up with a good use case for this feature.

I know I asked for the episode group feature a while back , but as I mentioned earlier, it just seems more complicated than it's worth and will cause more problems down the road.

Can you think of any use for Seasons by year?

Should it be removed?


----------



## elprice7345

*Series Year Metadata*
Tested and working!


----------



## elprice7345

*Series Posters*
I wasn't clear on what my concern was.

Scenario:

Search for "The Office" on TMDB
Double-click "The Office (2001)". Series poster disappears and series tree appears
Single-click "The Office (2005)". Series poster appears and series tree disappears
Single-click back on "The Office (2001)". New series poster appears, but series tree disappeared when clicking on "The Office (2005)" and I have to search again.
Can you leave the series tree in the background until I perform another search and only change the series posters?


----------



## dlfl

elprice7345 said:


> *Seasons by year*
> If I'm going to bite the bullet and "rename/renumber" my media to match the TMDB, I'm not sure I can come up with a good use case for this feature.
> 
> I know I asked for the episode group feature a while back , but as I mentioned earlier, it just seems more complicated than it's worth and will cause more problems down the road.
> 
> Can you think of any use for Seasons by year?
> 
> Should it be removed?


I hate to remove it after I had so much fun putting it in. 

But seriously: At a minimum, I would think some users would like to be able to see how episodes break down by years. An extreme example is "Case Closed" which assigns multiple years of episodes to a single season.
Also, I'm confused, given your comments in post #580:


> ..... Seasons by year using OAD are a great solution for documentaries that may be referenced by years and/or ordinals. With years, its very clear which season an episode belongs to. With ordinals, there's usually some disagreement. .A great example is the PBS series Frontline. Once upon a time (and in some current references), Frontline seasons were numbered with ordinals. Sometime in the last few years, they switched to years.


.
I thought the current mod addressed this. (??). What am I missing?

Assuming I retain Seasons by year, does the checkbox setting need to be persistent? Currently it will default to unchecked on each program start or each time a new TV Search tab is created.


----------



## dlfl

elprice7345 said:


> *Series Posters*
> I wasn't clear on what my concern was.
> 
> Scenario:
> 
> Search for "The Office" on TMDB
> Double-click "The Office (2001)". Series poster disappears and series tree appears
> Single-click "The Office (2005)". Series poster appears and series tree disappears
> Single-click back on "The Office (2001)". New series poster appears, but series tree disappeared when clicking on "The Office (2005)" and I have to search again.
> Can you leave the series tree in the background until I perform another search and only change the series posters?


I'm not clear on what you want. For your *last* step above, you have two choices:
1. The series tree reappears but without the superimposed poster image.
2. The behavior in the current test version (poster reappears but tree is gone)
If there is some other desired result, please advise.

*EDIT:* OK, I think I see a better (3rd) choice, which probably is what you would want:
3. The same as 2 (i.e., current test version) except: When you double-click (or click select button) the previous search results (which have been saved) instantly replace the poster.


----------



## elprice7345

*Seasons by Year Testing*


dlfl said:


> I hate to remove it after I had so much fun putting it in.
> 
> But seriously: At a minimum, I would think some users would like to be able to see how episodes break down by years. An extreme example is "Case Closed" which assigns multiple years of episodes to a single season.
> 
> Also, I'm confused, given your comments in post #580:
> 
> I thought the current mod addressed this. (??). What am I missing?
> 
> Assuming I retain Seasons by year, does the checkbox setting need to be persistent? Currently it will default to unchecked on each program start or each time a new TV Search tab is created.


Sorry, @dlfl! It was late. I was tired and I just wasn't feeling it. 

Of course, you are correct! Let's keep the seasons by year feature. It will come in handy to see chronological order of episodes.

Regarding persistence of the check box, I agree with the way it's programmed now: "it will default to unchecked on each program start or each time a new TV Search tab is created".

Why are the series results for "seasons by year" presented differently for some series?

"The Alienist": all episodes are prefaced by "MMDD"
"Adam Ruins Everything": all episodes are prefaced by "s#E#"
"12 Monkeys": is a mix of "MMDD" and "s#E#"
I tested with MG3 set to TVDB (faster), "seasons by year" checked, and the TV series "12 Monkeys".

I like your idea of prefacing the episode title with "MMDD". Can you do this for all episodes?
It is helpful to identify special episodes in the results as different from the official season episodes

What about "MMDD-S#E#" as the preface for all episodes?
"12 Monkeys", Season 2015, first entry is "s0e2- Out of Time: Testing"

When I double-click it, MG3 displays the metadata for the episode "S02E02-Primary"
"S00E01- Out of Time: Goodbye" should be the 1st entry with an OAD = 1/15/15
Metadata is similarly incorrect for subsequent episodes in that season. I'm guessing there's a bug there, so I didn't test all the episodes
"12 Monkeys", Season 2016: double-clicking the 1st 3 episodes works fine (with incorrect metadata), but double-clicking the 4th entry "0418-Year of the Monkey" produces the following error:


Code:


************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at TVSearchForm.frmShowTVMG..ctor(series Series, String season, String episode, String metaRenameTemplate, String metaSeriesRenameTemplate, Boolean combineDvdEps, Boolean combineMultiParts)
   at TVSearchForm.TVSearchForm.ShowSelectedEpisode(enumProcessMode mode)
   at TVSearchForm.TVSearchForm.treeShow_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


----------



## elprice7345

dlfl said:


> I'm not clear on what you want. For your *last* step above, you have two choices:
> 1. The series tree reappears but without the superimposed poster image.
> 2. The behavior in the current test version (poster reappears but tree is gone)
> If there is some other desired result, please advise.
> 
> *EDIT:* OK, I think I see a better (3rd) choice, which probably is what you would want:
> 3. The same as 2 (i.e., current test version) except: When you double-click (or click select button) the previous search results (which have been saved) instantly replace the poster.


You are correct!

Leave the search results in place in the background until the user searches again. As the user clicks around, the results stay in the background with the series posters overlaying until the user selects the series matching the search results, at which point the poster disappears so the user doesn't have to search again. This is even more important with TMDB being much slower!


----------



## dlfl

@elprice7345 Thanks for the great testing and feedback! I think we're on the same page now and I'm doing the appropriate mods.

I'm uncertain about the best way to handle duplicate titles from TVDB. I'll use Yellowstone as an example. As you know, the database titles for the 2009 and 2018 series are as follows:


Code:


Year      TVDB_title                TMDb_title
2009    Yellowstone                Yellowstone
2018    Yellowstone (2018)         Yellowstone

And apparently TMDb allows duplicate titles while TVDB does not.

In MG3 land, we have chosen to disambiguate the TMDb titles by always appending (<year>) for titles that are duplicates. But I'm not sure what should be done for TVDB titles (since they don't need disambiguation). In the Yellowstone case, should MG3 detect the two yellowstone titles as duplicates and then force-append (2009) to the 2009 title?


----------



## elprice7345

dlfl said:


> @elprice7345 Thanks for the great testing and feedback! I think we're on the same page now and I'm doing the appropriate mods.
> 
> I'm uncertain about the best way to handle duplicate titles from TVDB. I'll use Yellowstone as an example. As you know, the database titles for the 2009 and 2018 series are as follows:
> 
> 
> Code:
> 
> 
> Year      TVDB_title                TMDb_title
> 2009    Yellowstone                Yellowstone
> 2018    Yellowstone (2018)         Yellowstone
> 
> And apparently TMDb allows duplicate titles while TVDB does not.
> 
> In MG3 land, we have chosen to disambiguate the TMDb titles by always appending (<year>) for titles that are duplicates. But I'm not sure what should be done for TVDB titles (since they don't need disambiguation). In the Yellowstone case, should MG3 detect the two yellowstone titles as duplicates and then force-append (2009) to the 2009 title?


Hmm &#8230; a couple of thoughts &#8230;

TMDB specifically forbids adding a country or year identifier to the series name, so MG3 has to differentiate in some way. MG3 is differentiating by adding the year at the end as well as displaying series posters if available.

TVDB generally enforces a unique title, but their web site allows duplicates to be created. They "enforce" the unique title concept when duplicates are found by concatenating either the start year or the original country's country code. So, while it is possible for MG3 to find duplicate series titles in TVDB, its unlikely. (I couldn't find one in my cursory search.)

I don't have a strong opinion about this. Maybe use the same logic as we developed for TMDB? If MG3 finds duplicate titles in a TVDB search, concatenate the start year on the end? If the titles are unique, do nothing?

So, for your Yellowstone example, since the TVDB titles are unique, I would leave the titles as TVDB has them as Yellowstone and Yellowstone (2018).


----------



## dlfl

Try test distro Ver. 3.91T17 in attached zip
*EDIT*: Attachment removed -- superseded by later test version
Ver. 3.91T17
*Fixed:* Cleaned up series/ep tree visibility and updates in response to UI inputs.
*Enhanced:* When using seasons by year, prepend each ep name with MMDD from air date.

@elprice7345 , This should be getting pretty close. Everything should be as recently agreed. Just to be clear,
For TMDb searches:
MG3 looks for duplicate series names and appends (<year>) to duplicate names (only).

For TVDB searches:
MG3 assumes there are no duplicate series names and doesn't append (<year>) to any of them.


----------



## dlfl

Had a couple of ideas about handling episodes that are missing air dates when doing seasons by years, instead of just the current message giving the count:

1. The message could list those episodes in S#E# format.
(or)
2. Those episodes could appear in the series/episode tree in a bogus year node, e.g. year “0000”.

Personally I like option 2, but let me know if either option appeals to you.


----------



## elprice7345

I like option 2 as well.


----------



## elprice7345

*Testing T14*

*Series Posters*
You nailed it!

*Seasons by Year Testing*
In cases where the OAD is the same for multiple episodes, can MG3 sort them by OAD and then by S#E#? A good example is "The Alienist". Often series will broadcast 2 episodes on the same day and streaming services will release an entire season on the same date. See "The Haunting of Bly Manor".

*Missing Metadata Warnings*
When creating a metadata file with TVDB, MG3 warns about some fields missing from the TVDB source. I don't remember all of them, but description and OAD were 2 of them.

TMDB, NOVA-S47E11, is missing a description and MG3 didn't warn me when creating the metadata file.

I can't find an example of an episode missing OAD, but a warning should be generated if OAD is missing from TMDB as well.

Thanks!


----------



## dlfl

elprice7345 said:


> *.........
> Missing Metadata Warnings*
> When creating a metadata file with TVDB, MG3 warns about some fields missing from the TVDB source. I don't remember all of them, but description and OAD were 2 of them.
> 
> TMDB, NOVA-S47E11, is missing a description and MG3 didn't warn me when creating the metadata file.............


Without an example, I haven't been able to track down in the code where this warning occurs when using TVDB. Is it a pop-up (MessageBox)? When and where do you see it? Can you give me an example episode where one occurs (using TVDB)?


----------



## elprice7345

dlfl said:


> Without an example, I haven't been able to track down in the code where this warning occurs when using TVDB. Is it a pop-up (MessageBox)? When and where do you see it? Can you give me an example episode where one occurs (using TVDB)?


A message box pops up when MG3 creates the metadata if it finds one of the items missing.

I found some examples of missing episode description - Nature-S39E05-06.

Missing OAD here: Fear the Walking Dead-S06E08


----------



## dlfl

@elprice7345 You're going to have to give me more detailed instructions on how to generate that message. I've done Nature-S39E05, which is indeed missing a description, and created the .txt metadata file, with no error messages.


----------



## elprice7345

dlfl said:


> @elprice7345 You're going to have to give me more detailed instructions on how to generate that message. I've done Nature-S39E05, which is indeed missing a description, and created the .txt metadata file, with no error messages.


MG3 doesn't generate the error when creating a new metadata file, only when modifying an existing metadata file.

Save the file once and then save it again. I get the attached 








It looks like MG3 checks for (at least) programId, seriesId, and description.


----------



## dlfl

@elprice7345 , OK I finally see what you're talking about. What puzzles me is the warnings in the merge code don't depend on whether the database source is TMDb or TVDB. Some of the messages and gui labels say "TVDB" where they should say "TVDB or TMDb" or "Database", but whether and when they appear should not depend on which database was used (other than the fact that different items may be missing).

If you still think there is a bug, I will need to know what your merge settings were and which database is being searched. Meanwhile I will be tracking down all the places where the UI or messages say "TVDB" and replacing that text with a generic database name.


----------



## elprice7345

dlfl said:


> @elprice7345 , OK I finally see what you're talking about. What puzzles me is the warnings in the merge code don't depend on whether the database source is TMDb or TVDB. Some of the messages and gui labels say "TVDB" where they should say "TVDB or TMDb" or "Database", but whether and when they appear should not depend on which database was used (other than the fact that different items may be missing).
> 
> If you still think there is a bug, I will need to know what your merge settings were and which database is being searched. Meanwhile I will be tracking down all the places where the UI or messages say "TVDB" and replacing that text with a generic database name.


That was my goof!

You are correct! I get the same error with either TMDB or TVDB selected. Definitely not a bug.

I mainly use this error to check for missing data in the source, specifically descriptions and OAD. I also want to make sure episode title and number exist in the source, but those fields are very visible in MG3 and an episode probably can't be created without title and number. I use this alert to add the necessary info to the source episode(s).

Can you add a check to make sure episode description and OAD exist in the source when processing files?

My TMDB test case is Nature-S35E06


----------



## dlfl

Try test distro Ver. 3.91T18 in attached zip.
*EDIT*: Attachment removed -- superseded by later test version
Ver. 3.91T18 (13 Nov 2020)
*Enhanced:* In series/ep tree for seasons by year search, episodes with same air date are sorted by episode number
*Fixed: * Merge settings page and merge messages, "TVDB" replaced with generic text.

@elprice7345 Warnings for the items you wanted are already in the code, at least based on my limited testing and code review.


----------



## elprice7345

*Testing T18*


dlfl said:


> Had a couple of ideas about handling episodes that are missing air dates when doing seasons by years, instead of just the current message giving the count:
> 
> 1. The message could list those episodes in S#E# format.
> (or)
> 2. Those episodes could appear in the series/episode tree in a bogus year node, e.g. year "0000".
> 
> Personally I like option 2, but let me know if either option appeals to you.


When I search "season by year", the episodes without OAD don't appear. Can you make option 2 happen so episodes without an OAD appear in a bogus year?


dlfl said:


> *Enhanced:* In series/ep tree for seasons by year search, episodes with same air date are sorted by episode number


Tested and working! :thumbsup:


dlfl said:


> *Fixed: * Merge settings page and merge messages, "TVDB" replaced with generic text.


Tested and working! :thumbsup:

*Bug*


Code:


************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at MetaDataSearch.TmdbSeriesSearch.BuildSeries(String id, String& status, String oaYear, Boolean yearSeasons)
   at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

I got this when searching TMDB for "Fear the Walking Dead"

*Check for missing Source Data*
When I save TVDB Nature-S39E05 (missing a description) and there is no preexisting metadata file, I get no warning that the source description field is empty. Could MG3 warn me the source field is empty? And also warn me for an empty source OAD?

Same issue for TMDB Nature-S35E06.

I think these checks are independent of merge strategy and source.

Thanks!


----------



## dlfl

Try test distro Ver. 3.91T20 in attached zip
*EDIT: *Attachment removed -- superseded by later test version
Ver. 3.91T20 (14 Nov 2020)
*Fixed: * Crash caused by missing data in TMDb episodes (name, description, season#, ep#)
*Enhanced:* In series/ep tree for seasons by year, episodes with no air date are assigned "season" 0000
*Enhanced:* When saving series episode, warning given for missing description or air date

Note: If TMDb ep data item (name, description, season#, ep#) is returned as an empty string, that is not an error and episode is retained. Error is when the data item is not even present and in that case the episode is ignored.


----------



## elprice7345

*Testing T20*
All 3 issues/bugs are still present.
*
Bug*
I got this when searching TMDB for "Fear the Walking Dead":


Code:


************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at MetaDataSearch.TmdbSeriesSearch.BuildSeries(String id, String& status, String oaYear, Boolean yearSeasons)
   at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

*Seasons by year missing OAD*
Testing with TVDB: Fear the Walking Dead-S06E08 is missing OAD. MG3 tells me that 1 episode is missing OAD, but still doesn't show up in the results.

*Check for missing Source Data*
When I save TVDB Nature-S39E05 (missing a description) and there is no preexisting metadata file, I get no warning that the source description field is empty. Could MG3 warn me the source field is empty? And also warn me for an empty source OAD?

Same issue for TMDB Nature-S35E06.


----------



## dlfl

elprice7345 said:


> *Testing T20*
> All 3 issues/bugs are still present.
> *
> Bug*
> I got this when searching TMDB for "Fear the Walking Dead":
> 
> 
> Code:
> 
> 
> ************** Exception Text **************
> System.NullReferenceException: Object reference not set to an instance of an object.
> at MetaDataSearch.TmdbSeriesSearch.BuildSeries(String id, String& status, String oaYear, Boolean yearSeasons)
> at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)
> at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
> at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
> 
> *Seasons by year missing OAD*
> Testing with TVDB: Fear the Walking Dead-S06E08 is missing OAD. MG3 tells me that 1 episode is missing OAD, but still doesn't show up in the results.
> 
> *Check for missing Source Data*
> When I save TVDB Nature-S39E05 (missing a description) and there is no preexisting metadata file, I get no warning that the source description field is empty. Could MG3 warn me the source field is empty? And also warn me for an empty source OAD?
> 
> Same issue for TMDB Nature-S35E06.


Sounds like you're testing with the wrong version. I just repeated everything you mentioned and got none of the problems. Could you have a bad shortcut?


----------



## elprice7345

My bad! 

I think my AV program messed it up. The version number in the MG3 header was T20, but it clearly wasn't all of T20.

"Reinstalled" T20 again and got very different results.

All the issues/bugs are fixed!

*New bug*
Searching TMDB for "Roadkill (2020)" MG3 says "No episodes with valid data were found". The series exists with 4 episodes and MG3 displays cover art for the series: Roadkill
Same error for: Next

*Search Question?*
How are series title searches being sorted?

I think we have exact matches at the top, then I would expect close matches sorted alphabetically, then other matches. So why are the Star Trek titles not sorted alpha?


----------



## dlfl

@elprice7345 The TMDb episode processing code ignores an episode if the following elements are not returned: season#, ep#, ep name, and ep description
RoadKill and Next have no episodes that return an ep name. I see on the TMDb web site they are named as just "Episode 1", "Episode 2", etc., but their API doesn't return a name (as it does for other series). I will mod the code to synthesize an "Episode #" type name if the API doesn't return the name. Likewise, I will mod it to sub an empty string for Description if the Overview is missing. Thus episodes missing name or description won't be ignored. However episodes missing a season or episode number will continue to be ignored.

Series title results are sorted based on their similarity to the search term provided by you. The Damerau-Levenshtein Distance metric is used. Here is a Wiki link to that:
Damerau-Levenshtein distance - Wikipedia

After I do the mods mentioned, do you think we're ready for a 3.91 release, or would you like another test distro first? EDIT: I've made and tested the mods, just waiting to see if it can be released.

BTW, I'm DVRing RoadKill but haven't started watching it yet.


----------



## elprice7345

Let me test 1 more time before you release


----------



## dlfl

Try test distro Ver. 3.91T22 in attached zip

Ver. 3.91T22 (15 Nov 2020)
*Enhanced*: TMDb series search: eliminated one web call to get directors, writers
*Fixed*: Could have duplicates in writer and director lists for episodes
*Changed*: TMDb eipsodes: Allow episodes that API didn't provide name or description

@elprice7345 I realized I was making one more web call than needed to get the Director and Writers for TMDb series episodes. Should speed up searches but I didn't test to see how much. You could try timing Frontline with T20 then with T22 to see.


----------



## elprice7345

*T22 Testing*
Everything looks good @dlfl!

Thanks for humoring me with this big change! 

I'm good with releasing 3.91 whenever you're ready.


----------



## elprice7345

Not using a stop watch, but T22 seems much faster!

See ... there was something you could do!


----------



## dlfl

elprice7345 said:


> Not using a stop watch, but T22 seems much faster!
> 
> See ... there was something you could do!


Obviously because I just switched my C: drive from HDD to SSD.  My 11 year old PC was a powerhouse when purchased but was getting a little sluggish with the latest software, in particular the latest version of Visual Studio used to develop MG3. It has a new life now!


----------



## dlfl

Ver. 3.91 released, see first post for download link and changes.

Biggest changes are:
1. Can use TMDb.com for TV series searches.
2. "Seasons by year" checkbox. Seasons will be defined by year each episode was aired. In series/episode tree, episode names will have MMDD -- S#E3 prepended, where MMDD are the month and day first aired and S#E# are the season and episode numbers per the searched database.


----------



## Sparky1234

dlfl said:


> Obviously because I just switched my C: drive from HDD to SSD.  My 11 year old PC was a powerhouse when purchased but was getting a little sluggish with the latest software, in particular the latest version of Visual Studio used to develop MG3. It has a new life now!


Seems much faster to me too!


----------



## dlfl

@lart2150 has provided a security certificate usable for RPC searches (for programId and seriesId) that he says is good until Dec 2022 (!). I have verified the certificate works with MG3. You can download it from @reneg 's post here:
New program for 1 step TTG downloads, decryption, encoding - kmttg
You need to remove the .txt then substitute it for the cdata.pem in your MG3 installation/runtime folder. I have no way to verify the new expiration date but this seems to be great news!


----------



## elprice7345

*3.91 Bug?*
I hate to say this after all the work we've done, but I think MG3 has a bug that I failed to notice. 

I've only seen it while searching TMDB.

Steps to reproduce:

Search for a series
Double-click the series bring up season/episode info

Single-click the series bringing up the series poster
Double-click the series again
Most of the buttons at the bottom disappear
I can get them back by searching on another series and then searching on the original series again.


----------



## dlfl

Try test distro Ver. 3.92T1 in attached zip.

Ver. 3.92T1 (18 November 2020)
Fixed: ProgramId-related buttons on TV Search tab disappeared when they shouldn't

@elprice7345 Thanks, Good catch! May not be the last, unfortunately, so let's keep it in test status for a while.

Those buttons should appear only when the series selected had the last successful search, and doing RPC searches is enabled in settings.


----------



## HerronScott

dlfl said:


> @lart2150 has provided a security certificate usable for RPC searches (for programId and seriesId) that he says is good until Dec 2022 (!). I have verified the certificate works with MG3. You can download it from @reneg 's post here:
> New program for 1 step TTG downloads, decryption, encoding - kmttg
> You need to remove the .txt then substitute it for the cdata.pem in your MG3 installation/runtime folder. I have no way to verify the new expiration date but this seems to be great news!


You can import the original certificate provided into your Personal certificate store to see the details on it (and then delete it and the TiVo issuing and root CA's provided.










Scott


----------



## dlfl

HerronScott said:


> You can import the original certificate provided into your Personal certificate store to see the details on it (and then delete it and the TiVo issuing and root CA's provided.
> 
> View attachment 54741
> 
> 
> Scott


Thanks, I'm not fluent in certificates but with a little help from google I was able to do this.

I'm not sure about deleting the "TiVo issuing and root CA's" however. I imported using the Certificates snap-in in MMC. After viewing the properties I selected the certificate and selected Delete. Are there additional actions needed to delete those CA's?


----------



## HerronScott

Hi,

It doesn't hurt anytihng to have them stay in your certificate store but if you want to clean them up since they are not there normally. When you imported, did you leave the default option which I think is to Automatically select store based on the type of certificate? If so look for the TiVo CA (Certificate Authoritiy) certificates under Trusted Root Certification Authorities, Intermediate Certification Authorities and/or Third-Party Root Certification Authorities and you can delete them from there.

I selected to just import all certificates into my Personal store so they would be easy to find/cleanup.

Scott


----------



## elprice7345

*Testing 3.92T1*
You've fixed the bug @dlfl! :thumbsup:

I'll continue to use T1 for all my processing and will let you know of any other issues I find.

Also ... very good news on the new certificate!


----------



## elprice7345

*Improvement Idea*
When you export a series or season automatically the window that pops up offers a display filter with the following options:

All
Unmatched
Matched
To Be Processed
Not to be processed
I would like to add another filter to see the files not being processed in the directory or directories being searched.

This would be the inverse of the current "Not to be processed" option. The current option shows the MG3 episodes that aren't being processed. I'd like to see the user files that aren't being processed.

I would use this filter to find files that I expected to be processed in a directory that didn't get picked up by MG3 for one reason or another.

What do you think?


----------



## dlfl

elprice7345 said:


> *Improvement Idea*
> When you export a series or season automatically the window that pops up offers a display filter with the following options:
> 
> All
> Unmatched
> Matched
> To Be Processed
> Not to be processed
> I would like to add another filter to see the files not being processed in the directory or directories being searched.
> 
> This would be the inverse of the current "Not to be processed" option. The current option shows the MG3 episodes that aren't being processed. I'd like to see the user files that aren't being processed.
> 
> I would use this filter to find files that I expected to be processed in a directory that didn't get picked up by MG3 for one reason or another.
> 
> What do you think?


I'll look into that.


----------



## dlfl

Version 3.92 released, see first post for download and changes. Functionally identical to test distro 3.92T1


----------



## dlfl

Try test distro 3.93T1 in attached zip
*EDIT:* Attachment removed. Superseded by more recent test distro.

*Ver. 3.93T1
Enhanced:* Added button to display all unmatched files in automatch processing

If you browse to match a file to one of the unmatched episodes, that file will be removed from the list displayed the next time you hit the button to display unmatched files.


----------



## elprice7345

*Testing 3.93T1
*
Works well @dlfl with one tweak ...

Can the "Show Unmatched Files" button present all unmatched and "Not to be processed files"?

Use case is when MG3 matches a file incorrectly and I uncheck the process box. I would like the now "unmatched/not to process" file to appear in the "Show Unmatched Files" list.

Does that make sense?


----------



## elprice7345

Also, will the message box scroll if it's full?


----------



## dlfl

Try test distro Ver. 3.93T2 in attached zip.

Addresses issues raised by @elprice7345 in previous two posts. Message box will scroll both directions as needed.


----------



## elprice7345

*Testing 3.93T2
*
All is working great! Thanks @dlfl!

This is a great addition to MG3! It makes the file matching process much better! I'm not sure why we didn't think of it before?:clapping::thumbsup:


----------



## elprice7345

*Testing 3.93T2
*
Two more things ...

When "Exporting all seasons" for a show with multiple seasons in multiple directories, MG3 doesn't find unmatched files even if they exist in one of the directories. Can you have MG3 find unmatched files in this scenario?

Also, when exporting all seasons, auto-matching by season/episode number, MG3 doesn't match season zero episodes. MG3 only matches season zero episodes by title. I don't think it ever has, but can you have MG3 match season zero episodes when auto-matching by season/episode number?


----------



## dlfl

elprice7345 said:


> *.............*
> When "Exporting all seasons" for a show with multiple seasons in multiple directories, MG3 doesn't find unmatched files even if they exist in one of the directories. Can you have MG3 find unmatched files in this scenario?
> .......


This is when you have subfolders named Season1, Season2, etc., correct? And by "one of the directories" you mean one of the subfolders _named that way_, correct? (MG3 doesn't look in any other folders in that case.)

*EDIT:* Ignore question. You found a bug and fix will be in next test distro.


----------



## dlfl

Try test distro Ver. 3.93T3 in attached zip.

Ver. 3.93T3
Fixed: In auto-export by season folders, files in some folders were ignored
Fixed: Season 0 was ignored in auto-export when doing S/E matching


----------



## elprice7345

*Testing 3.93T3
*
Quick round of testing says you fixed my issues. Let me test a bit more (probably tomorrow ... other commitments today) and we can release.

Here are updated versions of files for the distro ...


----------



## elprice7345

*Testing 3.93T3*

Everything looks good @dlfl! 

Thanks for the updates!

Unless you need something else from me, I think you can publish. :up:


----------



## dlfl

Ver. 3.93 released. See first post for changes and download link.

This is functionally identical to test version 3.93T3 except for:
In auto-export, could check unmatched file for processing. Now gives message if attempted.

Updated versions of knownSeriesIds.txt and knownMovieIds.txt, courtesy of @elprice7345 are also included. And as always: Thanks to him for testing and suggestions for improvements!


----------



## PSU_Sudzi

I am getting an RPC TiVo credentials error when doing a search with program IDs. I've confirmed my user name, password, and TSN are correct and added the new certificate to the MG3 folder as well as importing it into Windows. Anyone else having this issue or any suggestions to troubleshoot?


----------



## elprice7345

@PSU_Sudzi Retrieving programIds using MG3 is working for me.

I've had this happen before as an transient error that goes away after a while. Try again later.

The only other thing I can think of is to turn you firewall/AV programs off.

I use Norton and it sometimes gives MG3 problems.


----------



## PSU_Sudzi

elprice7345 said:


> @PSU_Sudzi Retrieving programIds using MG3 is working for me.
> 
> I've had this happen before as an transient error that goes away after a while. Try again later.
> 
> The only other thing I can think of is to turn you firewall/AV programs off.
> 
> I use Norton and it sometimes gives MG3 problems.


Ok, thanks. I disabled Windows AV and Firewall (new install of Windows and haven't installed any other AV programs yet) and still no luck. Been that way for a few days, will see if it resolves or not.


----------



## elprice7345

PSU_Sudzi said:


> Ok, thanks. I disabled Windows AV and Firewall (new install of Windows and haven't installed any other AV programs yet) and still no luck. Been that way for a few days, will see if it resolves or not.


Since it's a new Windows install, did you remember to install python or the easier answer of rpcSearch128.exe?


----------



## PSU_Sudzi

elprice7345 said:


> Since it's a new Windows install, did you remember to install python or the easier answer of rpcSearch128.exe?


Have the rpcsearch128 installed since it's easier, as you mentioned. I think in my old build I had used python, may give that a go if this doesn't start working in a couple more days.

Update: in looking through my posts on this thread, I did use an older version of rpcsearch and that worked, will see if I can find an old version.


----------



## FluteMusic88

Has anyone had issues connecting to the RPC server following a password change? I had to change my password, and of course subsequently changed it in the Metagenerator settings, but ever since then, it won't connect to the RPC server. I even deleted the program, downloaded a fresh installer, and reinstalled it. That changed the error message from being unable to connect to the server to check my Tivo credentials. I have checked them probably a dozen times, and they're correct. I'm not sure what else to try.


----------



## dlfl

FluteMusic88 said:


> Has anyone had issues connecting to the RPC server following a password change? I had to change my password, and of course subsequently changed it in the Metagenerator settings, but ever since then, it won't connect to the RPC server. I even deleted the program, downloaded a fresh installer, and reinstalled it. That changed the error message from being unable to connect to the server to check my Tivo credentials. I have checked them probably a dozen times, and they're correct. I'm not sure what else to try.


I wouldn't be surprised if it takes a.few hours or a day for a password change to filter through from one TiVo server to another.

Just a wild idea: try forcing a connection on your TiVo.


----------



## PSU_Sudzi

dlfl said:


> I wouldn't be surprised if it takes a.few hours or a day for a password change to filter through from one TiVo server to another.
> 
> Just a wild idea: try forcing a connection on your TiVo.


I changed my password months ago and can no longer connect during any RPC calls.

Edit: I get same error on credentials also.


----------



## dlfl

FluteMusic88 said:


> Has anyone had issues connecting to the RPC server following a password change? I had to change my password, and of course subsequently changed it in the Metagenerator settings, but ever since then, it won't connect to the RPC server. I even deleted the program, downloaded a fresh installer, and reinstalled it. That changed the error message from being unable to connect to the server to check my Tivo credentials. I have checked them probably a dozen times, and they're correct. I'm not sure what else to try.


Look at text file "rpcConfig.txt" in your metagenerator appdata folder:
C:\Users\<account_name>\AppData\Roaming\Metagenerator
be sure you see:
doingRpc = true
userName = <tivo_user_name>
userPassword = <tivo_password>
tivoTSN = <your_tivos_TSN>

And you should either have rpcSearch128.exe placed in the same folder where you installed MG3
(OR)
You should have Python 2.7 installed and the following entry pointing to the python executable file in your rpcConfig.txt file:
pythonPath = C:\Python27\python.exe

I seem to recall seeing something to the effect that Python is no longer going to be supporting versions 2.X, in which case it may no longer be possible to download/install Python 2.7. I haven't tested MG3 with Python 3.X versions and possibly it might not work. But it should work using the rpcSearch128.exe file.

*EDIT* 2/16/2021 4:32 EST: Just confirmed MG3 does NOT work with Python 3.8 and looks like significant code changes would be required for it to work with it. However it appears that version 2.7 is still downloadable and using rpcSeach128.exe instead of a Python installation is still perfectly OK.


----------



## PSU_Sudzi

dlfl said:


> Look at text file "rpcConfig.txt" in your metagenerator appdata folder:
> C:\Users\<account_name>\AppData\Roaming\Metagenerator
> be sure you see:
> doingRpc = true
> userName = <tivo_user_name>
> userPassword = <tivo_password>
> tivoTSN = <your_tivos_TSN>
> 
> And you should either have rpcSearch128.exe placed in the same folder where you installed MG3
> (OR)
> You should have Python 2.7 installed and the following entry pointing to the python executable file in your rpcConfig.txt file:
> pythonPath = C:\Python27\python.exe
> 
> I seem to recall seeing something to the effect that Python is no longer going to be supporting versions 2.X, in which case it may no longer be possible to download/install Python 2.7. I haven't tested MG3 with Python 3.X versions and possibly it might not work. But it should work using the rpcSearch128.exe file.
> 
> *EDIT* 2/16/2021 4:32 EST: Just confirmed MG3 does NOT work with Python 3.8 and looks like significant code changes would be required for it to work with it. However it appears that version 2.7 is still downloadable and using rpcSeach128.exe instead of a Python installation is still perfectly OK.


Like @FluteMusic88 , I get the same error (check TiVO credentials) even though all info is correct as confirmed by looking at the rpcConfig.txt. Could this be a certificate issue? I checked that I added the cdata.pem file to my MG3 install folder but it still hasn't completed a successful RPC call in months.


----------



## dlfl

PSU_Sudzi said:


> Like @FluteMusic88 , I get the same error (check TiVO credentials) even though all info is correct as confirmed by looking at the rpcConfig.txt. Could this be a certificate issue? I checked that I added the cdata.pem file to my MG3 install folder but it still hasn't completed a successful RPC call in months.


Very puzzling. I downloaded the MG3 ver. 3.93 distro package and installed the cdata.pem file contained in it in my runtime folder, just to check that the correct latest version is being distributed. I also downloaded rpcSearch128.zip as linked in the first post and installed the contained rpcSearch128.exe file in my runtime folder. MG3 RPC searches succeeded using either rpcSearch128.exe or my installed python 2.7.

Are you using the latest MG3 version (3.93)?
Are you using rpcSearch128.exe or installed python 2.7?
Is your install folder something OTHER than program files or program files (x86), as is recommended?


----------



## PSU_Sudzi

dlfl said:


> Very puzzling. I downloaded the MG3 ver. 3.93 distro package and installed the cdata.pem file contained in it in my runtime folder, just to check that the correct latest version is being distributed. I also downloaded rpcSearch128.zip as linked in the first post and installed the contained rpcSearch128.exe file in my runtime folder. MG3 RPC searches succeeded using either rpcSearch128.exe or my installed python 2.7.
> 
> Are you using the latest MG3 version (3.93)?
> Are you using rpcSearch128.exe or installed python 2.7?
> Is your install folder something OTHER than program files or program files (x86), as is recommended?





dlfl said:


> Very puzzling. I downloaded the MG3 ver. 3.93 distro package and installed the cdata.pem file contained in it in my runtime folder, just to check that the correct latest version is being distributed. I also downloaded rpcSearch128.zip as linked in the first post and installed the contained rpcSearch128.exe file in my runtime folder. MG3 RPC searches succeeded using either rpcSearch128.exe or my installed python 2.7.
> 
> Are you using the latest MG3 version (3.93)?
> Are you using rpcSearch128.exe or installed python 2.7?
> Is your install folder something OTHER than program files or program files (x86), as is recommended?


I am using the lastest version, 3.93.
I don't have python installed and an using the rpcSearch128.exe file (located in the Metagenerator folder).
I've just installed it in the programs folder and same results, check TiVo credentials. cdata.pem file is the most recent one posted here sometime the end of last year.

Prior to the certificate expiration last year, it ran fine when I had it installed on my external USB drive but now it does not work in either location (program ID search, that is). And I did get the following error below when trying to run it now in the Programs folder that did not happen on the external drive.

details:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.UnauthorizedAccessException: Access to the path 'C:\Program Files\Metagenerator\distroSeriesIds.txt' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at MetaDataSearch.MiddleMindRpc.ReadKnownCollectionIds(String& resultsMsg, Boolean& didMerge, Form parent)
at MetaGeneratorV2.frmMain.frmMain_Shown(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Metagenerator Version 3
Assembly Version: 3.9.3.0
Win32 Version: 3.9.3.0
CodeBase: file:///C:/Program%20Files/Metagenerator/Metagenerator%20Version%203.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4270.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
MetaDataSearch
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Metagenerator/MetaDataSearch.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4320.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.4084.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


----------



## dlfl

@PSU_Sudzi
No the recommendation is NOT to install MG3 in the program files or program files (x86) folder! That error you got was a result of the distributed distroSeriesId.txt file being in that folder and MG3 not having file permission to delete it after it was read in. (Those folders require admin credentials for writing or deleting the files they contain.)

The correct (latest) cdata.pem file is distributed in the zip distro with the other MG3 files. You may or may not have the correct version from elsewhere. In any case that file must also have at least read permission. This has never been an issue before but if you got the file elsewhere and placed it in the MG3 folder maybe the permissions got changed in the process. Recommend deleting the cdata.pem file you now have there. Then extract the cdata.pem file from the MG3 distribution zip and paste it into the runtime folder. Before extracting, look at the properties of the zip file and it it says it is blocked (in lower right corner) then unblock it and apply the unblock before extracting any files.

Do you normallly run in an administrative account?


----------



## PSU_Sudzi

dlfl said:


> @PSU_Sudzi
> No the recommendation is NOT to install MG3 in the program files or program files (x86) folder! That error you got was a result of the distributed distroSeriesId.txt file being in that folder and MG3 not having file permission to delete it after it was read in. (Those folders require admin credentials for writing or deleting the files they contain.)
> 
> The correct (latest) cdata.pem file is distributed in the zip distro with the other MG3 files. You may or may not have the correct version from elsewhere. In any case that file must also have at least read permission. This has never been an issue before but if you got the file elsewhere and placed it in the MG3 folder maybe the permissions got changed in the process. Recommend deleting the cdata.pem file you now have there. Then extract the cdata.pem file from the MG3 ditribution zip and paste it into the runtime folder. Before extracting, look at the properties of the zip file and it it says it is blocked (in lower right corner) then unblock it and apply the unblock before extracting any files.
> 
> Do you normallly run in an administrative account?


Sorry, I misread your instructions on where to install it. I reinstalled it on my external drive, including rpcSearch128.exe and still the credentials error. I didn't make changes to the cdata.pem file, just left the one that came with the 393 install zip folder. Also made sure to unblock the zip files before unpacking them. Still credentials error. And no I don't normally run an admin account.


----------



## dlfl

PSU_Sudzi said:


> Sorry, I misread your instructions on where to install it. I reinstalled it on my external drive, including rpcSearch128.exe and still the credentials error. I didn't make changes to the cdata.pem file, just left the one that came with the 393 install zip folder. Also made sure to unblock the zip files before unpacking them. Still credentials error. And no I don't normally run an admin account.


Could you install to a folder on your primary drive and run from an administrative account, at least as a temporary test? If that works we would next try running from your normal (non admin) account, to see if that is the problem. If that is the problem I will test running from a non-admin account on my PC and debug, hopefully fix, the issue. I normally run from an admin account. There may be an execute permissions issue for the rpcSearch128.exe file associated either with running in a non-admin account or running from the external drive.


----------



## PSU_Sudzi

dlfl said:


> Could you install to a folder on your primary drive and run from an administrative account, at least as a temporary test? If that works we would next try running from your normal (non admin) account, to see if that is the problem. If that is the problem I will test running from a non-admin account on my PC and debug, hopefully fix, the issue. I normally run from an admin account. There may be an execute permissions issue for the rpcSearch128.exe file associated either with running in a non-admin account or running from the external drive.


Ok thanks so much for your help will check out in about 15 min. and let you know.


----------



## PSU_Sudzi

dlfl said:


> Could you install to a folder on your primary drive and run from an administrative account, at least as a temporary test? If that works we would next try running from your normal (non admin) account, to see if that is the problem. If that is the problem I will test running from a non-admin account on my PC and debug, hopefully fix, the issue. I normally run from an admin account. There may be an execute permissions issue for the rpcSearch128.exe file associated either with running in a non-admin account or running from the external drive.


So I put the MG3 files on my desktop (primary drive) and unpacked everything, etc. and still get the TiVo credentials error. I double checked my account and it is administrative, just not the Administrator account. This is very strange a couple of us cannot get it to work, it seems to me more likely a password issue on the TiVo end than with any of your software. For giggles I even tried unzipping your files with Windows vs. WinRAR and that still didn't make a difference.


----------



## PSU_Sudzi

For the heck of it I changed my password on TiVo.com and then updated it on MG3 in case for any odd reason that was the cause of the problem. But no luck still give me the credentials error.


----------



## Sparky1234

MG3 working great here. No issues at all....


----------



## Zaphod

Sparky1234 said:


> MG3 working great here. No issues at all....


Same here. I did have the cert issue back in December, but the new MG distribution that includes the new cert fixed that.

That said, I haven't changed my TiVo password in years.


----------



## elprice7345

PSU_Sudzi said:


> For the heck of it I changed my password on TiVo.com and then updated it on MG3 in case for any odd reason that was the cause of the problem. But no luck still give me the credentials error.


Just thinking out loud ... do you have another machine where you can install MG3?

If the new install works, there must be something misconfigured on the old machine.

If the new install doesn't work, then there must be an issue with your TiVo credentials.

RPC calls are still working for me. I also haven't changed my PW in a long time.


----------



## dlfl

Well, who volunteers to change their TiVo credentials just to test if that causes this problem? (Not me, )


----------



## Sparky1234

dlfl said:


> Well, who volunteers to change their TiVo credentials just to test if that causes this problem? (Not me, )


LOL.


----------



## PSU_Sudzi

elprice7345 said:


> Just thinking out loud ... do you have another machine where you can install MG3?
> 
> If the new install works, there must be something misconfigured on the old machine.
> 
> If the new install doesn't work, then there must be an issue with your TiVo credentials.
> 
> RPC calls are still working for me. I also haven't changed my PW in a long time.


Sadly no just have a work laptop and that's locked down pretty tight. I think it could be a machine issue, it worked previously on my 2017 iMac loaded with Windows 10 in Bootcamp and now I have a 2020 iMac with Windows 10 in Bootcamp. But I am not sure exactly what configuration is causing the problem. For anyone not familiar with Bootcamp, the machine is running Windows 10 for real, not an emulator, etc. It's a dual boot system.


----------



## elprice7345

PSU_Sudzi said:


> Sadly no just have a work laptop and that's locked down pretty tight. I think it could be a machine issue, it worked previously on my 2017 iMac loaded with Windows 10 in Bootcamp and now I have a 2020 iMac with Windows 10 in Bootcamp. But I am not sure exactly what configuration is causing the problem. For anyone not familiar with Bootcamp, the machine is running Windows 10 for real, not an emulator, etc. It's a dual boot system.


Hmm ... a work laptop ...

Could you borrow a friend's laptop to test? MG3 doesn't really install in the traditional Windows sense. You just copy the contents of the zip file into a folder, so it's easy to undo and shouldn't take long.


----------



## PSU_Sudzi

elprice7345 said:


> Hmm ... a work laptop ...
> 
> Could you borrow a friend's laptop to test? MG3 doesn't really install in the traditional Windows sense. You just copy the contents of the zip file into a folder, so it's easy to undo and shouldn't take long.


I was able to unzip everything onto my work laptop and get it running but am unable to save my TiVo user name and password in the settings, I am guessing its some kind of error trying to save data to the user folder on this setup. So no luck here either.


----------



## dlfl

PSU_Sudzi said:


> I was able to unzip everything onto my work laptop and get it running but am unable to save my TiVo user name and password in the settings, I am guessing its some kind of error trying to save data to the user folder on this setup. So no luck here either.


What was the indication the credentials weren't saving? Error message or what?


----------



## PSU_Sudzi

dlfl said:


> What was the indication the credentials weren't saving? Error message or what?


I would set the user name and password and then check the middle mind box and then close the form and do a search with program id. Would see red text something like "no rpc set" but that's not quite the precise text, I know I'm off by a word. When I would go back to check the settings the user name and password and middle mind box are all set back to default values. Repeated this cycle multiple times.

Update: the error in red is "RPC ERROR: Not Doing RPC". This is after saving the name and password and checking the middle mind box then searching a program with get program id box checked. Going back to settings (mind RPC) box reveals no name or password saved.


----------



## dlfl

PSU_Sudzi said:


> I would set the user name and password and then check the middle mind box and then close the form and do a search with program id. Would see red text something like "no rpc set" but that's not quite the precise text, I know I'm off by a word. When I would go back to check the settings the user name and password and middle mind box are all set back to default values. Repeated this cycle multiple times.


I suspect a permissions issue. I don't know if you were running as administrator or whether that should make a difference. I did the following as a test running on a *non-*administrator account on my PC:


Downloaded Metagenerator383.zip and RPCSearch128.zip.
In properties for each downloaded zip, checked Unblock and Apply.
Extracted contents of both zips to a new folder (just created while running in this non-admin account)
Created shortcut to MG3 executable on desktop
Launched MG3 using shortcut
Entered TiVo credentials and TSN in Mind RPC settings.
MG3 ran normally, including RPC searches.

Notes:
The new folder used was NOT located either under Program Files or Program Files (x86)

I extract zip contents by double clicking the zip to open it, hitting Ctrl-A to select all contents, right-clicking and selecting Copy, then focusing in target folder, right-clicking and selecting Paste. I would think any method of extracting should work but that's what I use.

I didn't have to use run-as-administrator, or enter admin credentials, at any point.


----------



## PSU_Sudzi

dlfl said:


> I suspect a permissions issue. I don't know if you were running as administrator or whether that should make a difference. I did the following as a test running on a *non-*administrator account on my PC:
> 
> 
> Downloaded Metagenerator383.zip and RPCSearch128.zip.
> In properties for each downloaded zip, checked Unblock and Apply.
> Extracted contents of both zips to a new folder (just created while running in this non-admin account)
> Created shortcut to MG3 executable on desktop
> Launched MG3 using shortcut
> Entered TiVo credentials and TSN in Mind RPC settings.
> MG3 ran normally, including RPC searches.
> 
> Notes:
> The new folder used was NOT located either under Program Files or Program Files (x86)
> 
> I extract zip contents by double clicking the zip to open it, hitting Ctrl-A to select all contents, right-clicking and selecting Copy, then focusing in target folder, right-clicking and selecting Paste. I would think any method of extracting should work but that's what I use.
> 
> I didn't have to use run-as-administrator, or enter admin credentials, at any point.


It must be permissions to the user folder, I just re-tested following all the steps as you did and still does not save the user name/pw and gives the same error. My only deviation from your steps initially is that I unpack zip files rather than open them and copy/paste. And this is a non-administrator account.


----------



## dlfl

If you use MG3, please let me know how important it is for it to continue accessing TV series data from theTVDB.com, as opposed to the Movie Database (TMDb) source, which was recently added.

theTVDB.com will soon force the use of a new API (V4) which, in addition to requiring significant MG3 code modifications, will most likely require each user of MG3 to pay them $12/year for a subscription, to get a PIN which would have to be entered into MG3. The PIN would also give access to any other way you use theTVDB.com. They say they will have provisions to give free PIN's if you perform certain functions that support their database, but the details of this seem unsettled at the moment.

I have asked theTVDB.com how much a blanket license would cost but am still waiting for a reply. This would eliminate requiring each MG3 user to subscribe. If they offer a reasonable cost, then all that remains is the code mods.


----------



## elprice7345

This is more of the same of what happened to me with my media app, JRMC, and why I asked you to add TMDB last summer.:thumbsup: TVDB evidently wanted a lot of $$ from JRMC and JRMC just switched to TMDB in a matter of a few weeks.

I get that bandwidth, development, servers, etc. cost money, so I can't blame TVDB for trying to monetize their data. I also get that a lot of the internet believes everything should be free. I also think it's a sketchy business model to ask your users to maintain and build your product and then charge them for access. 

TVDB is trying to address my last concern with this approach:


> User subscriptions will be $11.99/year. However, given that we're a community-driven site, we'll also allow users to earn a free yearly subscription by contributing quality data to the site, like missing IDs, translations, and artwork. We'll provide additional details concerning this model in the coming months.


I try to use TMDB for all my shows. It is fairly up-to-date for any popular show, but less up-to-date and not as accurate for the less popular shows like documentaries, etc. I do think it is competitive with TVDB for most user's purposes.

Even trying to use TMDB as my primary source, I find I still need to reference TVDB occasionally. I still use TVDB as my reference for many of these less popular shows, because I haven't put the time and effort into updating TMDB. If and when I ever finish updating my shows, I'll probably only use TVDB as a reference and not as a source to rename my shows.

I would still like for MG3 to be able to access TVDB going forward, but I think we need to understand the costs. I would be happy to pay for a user license around $12/year, but that may be more than some MG3 users are willing to pay (then again, if users have to pay the fee, it shouldn't matter too much to you). I would even be happy to contribute to the MG3 master license if the cost is reasonable.

Regarding v4, if you want to maintain TVDB access, you'll probably have to update to v4 at some point in the not too distant future. I haven't been paying attention to their updates, but I'll be happy to test if you decide to make the changes.

Let me know what you hear about the licensing costs.


----------



## elprice7345

*Bug*


Code:


************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at MetaDataSearch.TmdbSeriesSearch.BuildSeries(String id, String& status, String oaYear, Boolean yearSeasons)
   at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

What happened:

I searched for "Killing Eve" in TMDB
I double-click the series
The error above appears


----------



## dlfl

elprice7345 said:


> *Bug*
> 
> 
> Code:
> 
> 
> ************** Exception Text **************
> System.NullReferenceException: Object reference not set to an instance of an object.
> at MetaDataSearch.TmdbSeriesSearch.BuildSeries(String id, String& status, String oaYear, Boolean yearSeasons)
> at TVSearchForm.TVSearchForm.bwShowSelected_DoWork(Object sender, DoWorkEventArgs e)
> at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
> at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
> 
> What happened:
> 
> I searched for "Killing Eve" in TMDB
> I double-click the series
> The error above appears


Caused by ill-formed episode record. For a crew member "second unit director", the "name" element (and other elements) is missing. Easy to catch and program around. Will fix.


----------



## dlfl

Try test version 3.94T1 in attached zip.

Ver. 3.94T1 (18 March 2021)
Fixed: Ill-formed crew field (missing name) in TMDb episode record crashed MG3


----------



## elprice7345

*Testing Ver. 3.94T1*
Killing Eve is fixed.

I also did some regression testing and everything seems to be in order.

If you want to give me a few days to use Ver. 3.94T1, I'll do more testing and then you can publish.


----------



## elprice7345

*Testing Ver. 3.94T1*
I haven't found any more issues. Feel free to publish whenever you're ready.

Thanks @dlfl!


----------



## dlfl

Ver. 3.94 released, see first post for changes and download.

Thanks @elprice7345 for debugging and testing!


----------



## buffalova

i have a really odd issue i am not sure how to fix... i have been using metagen 3 for sometime but probably not the way it was intended.. i use it mainly to group shows in a single folder that may or may not be the same show.. anyway i was doing a rpcsearch for a seried id for the show "mom" ..i kept getting an error that it couldnt search or something like that so i gave up.. but now when i use mg3 no matter what show i want to create metadata for i enter the series id (not "mom" show) and click save on the video.. every time no matter what it changes the name of the show and meta text file to "mom".. so annoying.. obviously that is stored somewhere but have no idea how to clear it...greatly appreciate any ideas of what to check.. and or possible fix...


----------



## dlfl

buffalova said:


> i have a really odd issue i am not sure how to fix... i have been using metagen 3 for sometime but probably not the way it was intended.. i use it mainly to group shows in a single folder that may or may not be the same show.. anyway i was doing a rpcsearch for a seried id for the show "mom" ..i kept getting an error that it couldnt search or something like that so i gave up.. but now when i use mg3 no matter what show i want to create metadata for i enter the series id (not "mom" show) and click save on the video.. every time no matter what it changes the name of the show and meta text file to "mom".. so annoying.. obviously that is stored somewhere but have no idea how to clear it...greatly appreciate any ideas of what to check.. and or possible fix...


Wow you lost me here! Please give a detailed step-by-step example of this.


----------



## buffalova

lol....sorry... this is what i do.. i pick a series that are in perpetual reruns so that i can send movies or shows etc and they group in that folder... 

i was attempting to add a new folder using the seriesid of the show "mom"..but i needed the seriesid...so using metagen3 i clicked i believe rpc search.. sorry at work so not sure the exact terms.. but it never found the show... or i didnt think so... i kept clearing etc and it appeared to never take so i just thought this is way too much trouble for a few shows and dropped it.. 

recently i was trying to transfer to my "friends" folder that i use for a variety of shows..... usually i use meta3 and search for "friends".. then i set the seriesid.. click the first epi and rename to the new show to add to the friends folder by changing the description etc.. after that i click save and find the show and a meta file is created..the transfer and voila it is in the "friends" folder and neat and tidy...

but now for some unknown reason when i click save it changes the name of the video file and meta text file to "mom"..it is like a default somewhere on my pc and its driving me batty.. i have deleted the meta3 folder and ran cleaners etc but each time i try i get the same results... 

hope this helps and thanks in advance trying to help.. i do have a work around it is just tedious...


----------



## dlfl

@buffalova When you get home please compile an exact step-by-step action list that will illustrate your problem. (So far I'm still confused.)


----------



## dlfl

Meanwhile, in the process of trying to understand @buffalova 's issue I'm seeing most RPC programId searches failing to match most episodes for most series shows. RPC SeriesID searches are succeeding but not the programId matching. I'm hoping it's just a temporary problem with the TiVo servers but let me know what you experience.


----------



## buffalova

dlfl said:


> @buffalova When you get home please compile an exact step-by-step action list that will illustrate your problem. (So far I'm still confused.)


@dlfl i was able to track down where it was coming from.. first i did a search in the registry which led me to users>{my name}>app data>roaming and there is a folder called Metagenerator3... i looked in the folder and found several txt files such as knownseriesID etc... one was called "rename something" and inside was the word "mom"... i deleted that txt file but it did not help so I deleted the entire folder...

so i restart MG3 and immediately get an error warning "programid searchs require a python installation or place rpcsearch128.exe in the mg3 folder etc" and I just closed the error warning... i proceed as i normally would but the options for rpc search and set seriesID next to "select show" are not there but once i search and find the program and select the first episode i can add the seriesid there and it asks if i would like to set this for the whole series or just this epi and i selected the whole series and it worked as it has in the past once i enter the text i want in the episode field and save..... whew....no more renaming everything "mom"..lol..

at some point in the future i may try and add the rpcsearch back to the MG3 folder but i never found it worked all that well with mostly returning "not found" or something like that and i have a large list of known seriesid anyway...so looks like i am good to go.. thx very much for trying..


----------



## dlfl

@buffalova The file you found was "renameTemplates.txt" and it is created when you define a "TV Show Template" in the "Metadata-based File Renaming/Moving Templates" section of the Settings tab. Apparently at some time you had done this. Why deleting this file didn't fix the "mom" problem is a mystery.


----------



## dlfl

dlfl said:


> Meanwhile, in the process of trying to understand @buffalova 's issue I'm seeing most RPC programId searches failing to match most episodes for most series shows. RPC SeriesID searches are succeeding but not the programId matching. I'm hoping it's just a temporary problem with the TiVo servers but let me know what you experience.


Well today things seem back to normal .....


----------



## dlfl

Try test distro Ver. 3.95T3 in the attached zip.
*EDIT: * Attachment removed -- superseded by later test versions

*Ver. 3.95T3* (3 April 2021)
* Enhanced:* Right-clicking on TV Show search result list item pops up overview of series
*Fixed:* Left click in TV Show search list box beneath listed items caused crash.


----------



## HerronScott

Getting this error.


----------



## dlfl

@HerronScott RPC searches failing sometimes for me too, similar to last Tuesday. Nothing has changed in MG3 so I suspect flakey behavior of the TiVo servers.


----------



## dlfl

Try test distro 3.95T4 in attached zip.
*EDIT:* Attachment removed - superseded by later test version.
Ver. 3.95T4 (4 April 2021)
*Enhanced:* Right clicking on show name in search result list also opens Series page in search source.
*Enhanced:* Right click menu option for Seasons and Episodes in tree can open corresponding web page in search source.
Ver. 3.95T3 (3 April 2021)
*Enhanced: *Right-clicking on TV Show search result list item pops up overview of series
*Fixed: *Left click in TV Show search list box beneatch listed items caused crash.


----------



## elprice7345

*Testing Ver. 3.95T4*
Awesome work @dlfl! Quick turnaround! As always, you code faster than I test! 



dlfl said:


> *Enhanced:* Right click menu option for Seasons and Episodes in tree can open corresponding web page in search source.


The season and episode links work great!



dlfl said:


> *Enhanced*: Right clicking on show name in search result list also opens Series page in search source.


Can you make this feature optional, so a right-click doesn't automatically open the web page? Maybe a right-click brings up a menu like at the season and episode level?

One more enhancement request: Can you add a similar link feature in the movie tab?

Once we get the enhancements settled, I'll do some regression testing, you can publish this version and we'll tackle the TVDB API changes later.


----------



## dlfl

Try test distro Ver. 3.95T6 in attached zip.
Ver. 3.95T6 (9 April 2021)
*Changed:* Right click on series name in search return list shows overview then asks if want to open source web page.
*Enhanced:* Right click on movie name in search return list shows overview then asks if want to open source web page.
Ver. 3.95T4 (4 April 2021)
*Enhanced:* Right clicking on show name in search result list also opens Series page in search source.
*Enhanced:* Right click menu option for Seasons and Episodes can open corresponding web page in search source.
Ver. 3.95T3 (3 April 2021)
*Enhanced:* Right-clicking on TV Show search result list item pops up overview of series
*Fixed:* Left click in TV Show search list box beneatch listed items caused crash.


----------



## dlfl

I'm still seeing random bad results searching programId's. Bad results then a few seconds later good results for the very same search.


----------



## elprice7345

*Testing Ver. 3.95T6*

All the requested changes are working great! :up:

Questions:

Does it make more sense to open the Series level web page by right-clicking the Series title in the right-side window than by right-clicking the Series title in the left window? The season and episode links are already in the right-side window.

If you move the Series web page from the left window to the right window you'd probably have to leave the movie web page right-click as is?

Now I'm getting greedy: Can you add similar series/season/episode web page links to the IMDB? And also for movies? 

Do you know if the TVDB is going to allow access to movies through the API v4? I don't think movies are available in API v3. Something else to add to the v4 changes?


----------



## dlfl

The advantage of having the Series right click on the left side is it allows you to get the overview and web page without having to select the series and do the full episode search. This is helpful when two or more series with the same or very similar names are found and you need to decide which one you want. Note this right click is still available on the left side even after you generate the episode tree. However the right-click at the series level of the tree can also be provided if you think it desirable. In that case a question is: Do you want that right-click to also pop up the overview?

For movies, it seems the left side is the only logical place for the right-click feature, or am I missing another likely candidate?

To provide IMDB web pages, I need the IMDB ID number for the series or movie. This is available from the TVDB API but I don't see it anywhere in TMDb API results. Thus this feature could only be done for TVDB searches (and currently only for series). Is that of interest?

The TVDB V4 API does include movies. How good is their movie database? This could be done if desired. I'm still stuck on doing the V4 series mods. They are taking days to respond to any question about it.


----------



## elprice7345

dlfl said:


> The advantage of having the Series right click on the left side is it allows you to get the overview and web page without having to select the series and do the full episode search. This is helpful when two or more series with the same or very similar names are found and you need to decide which one you want. Note this right click is still available on the left side even after you generate the episode tree. However the right-click at the series level of the tree can also be provided if you think it desirable. In that case a question is: Do you want that right-click to also pop up the overview?


You make a good point! I would leave it as it is.


dlfl said:


> For movies, it seems the left side is the only logical place for the right-click feature, or am I missing another likely candidate?


Agreed


dlfl said:


> To provide IMDB web pages, I need the IMDB ID number for the series or movie. This is available from the TVDB API but I don't see it anywhere in TMDb API results. Thus this feature could only be done for TVDB searches (and currently only for series). Is that of interest?


I can't speak to the TMDB API, but the IMDB field is available on the TMDB web page for user input. I'd be surprised if it isn't in the API. See screenshots.


dlfl said:


> The TVDB V4 API does include movies. How good is their movie database? This could be done if desired. I'm still stuck on doing the V4 series mods. They are taking days to respond to any question about it.


Not sure how good TVDB movie DB is, just wondering if movies are in the v4 API. Maybe we can evaluate adding it later after the API stabilizes?


----------



## dlfl

Thanks, I looked for the IMDB ID in the TMDb web pages but missed it. It should be provided by the API. Assuming I can get the ID, the right-click menus on right (tree) side can be expanded to add the IMDB option. I’m thinking the left (search result) side right-click response should be changed to a 3-item menu like this:
1. Overview
2. Web page for selected database (TVDB or TMDb)
3. IMDB web page.

EDIT: The reason I didn’t notice the IMDB ID was it’s on an edit page and I didn’t even try to go there since I don’t edit info. However, the IMDB ID is accessible via the API.


----------



## elprice7345

dlfl said:


> Thanks, I looked for the IMDB ID in the TMDb web pages but missed it. It should be provided by the API. Assuming I can get the ID, the right-click menus on right (tree) side can be expanded to add the IMDB option. I'm thinking the left (search result) side right-click response should be changed to a 3-item menu like this:
> 1. Overview
> 2. Web page for selected database (TVDB or TMDb)
> 3. IMDB web page.
> 
> EDIT: The reason I didn't notice the IMDB ID was it's on an edit page and I didn't even try to go there since I don't edit info. However, the IMDB ID is accessible via the API.


That works!

Yeah, I'm not sure why the external IDs (TVDB, IMDB, etc.) aren't visible on the main page.


----------



## dlfl

Try test ver 3.95T10 contained in attached zip.

Ver. 3.95T10 (14 April 2021)
*Enhanced:* Right-click menus for Series and Movies in search result lists give Overview, Database Web Page and IMDB web page.
*Enhanced:* In TV Series season/episode tree, right-click menus at season and episode items give Database Web page and IMDB web page, for either database selection.
*Fixed:* Left click in TV Show search list box beneatch listed items caused crash.


----------



## dlfl

Ver. 3.95 released.  See first post for download link.

*Ver. 3.95* (29 April 2021)
* Enhanced:* Right-click menus for Series and Movies in search result lists give Overview, Database Web Page and IMDB web page.
*Enhanced:* In TV Series season/episode tree, right-click menus at season and episode items give Database Web page and IMDB web page,
for either database selection.
*Fixed: * Left click in TV Show search list box beneath listed items caused crash.

"Database" in above change notes refers to either TVDB or TMDb as selected.
Showing the Database or IMDB web pages requires a default browser to have been defined. A descriptive error message should pop up if you attempt to show a web page without having defined the default browser.


----------



## mickrussom

dlfl said:


> Ver. 3.95 released.


Not sure if its 3.95, but getting programID times out now, says check login credentials in the RPC error. Tried getting Ghostbusters movie from 1984 and with The Simpsons getting a timeout even on a deep search. Login to online.tivo.com/start working with same credentials.

The I remember, you cant have rpcSearch128.py if you need rpcSearch128.exe for the search to work - but even when I use rpcSearch128.exe alone with rpcSearch128.py not present its still not working.

rpcSearch128.exe seems to run, but still getting credential errors...

When using rpcSearch128.exe from the command line as follows:

rpcSearch128.exe "ghostbusters" "[email protected]" "Password123" "streamingMovies" "1984" "" "" ""

credential error

Help? Any chance the rpcSearch128.py was ever ported to python3 so i could test that? will try on an 2.x box.


----------



## elprice7345

I've been seeing the RPC credential error for most of this week. In the past, this has happened occasionally and would resolve itself after a few days.

Since others are also seeing the same thing, I would guess the issue is on the TiVo side.

I saw the same error before moving to 3.95.

@dlfl - can you confirm you have the same issue?


----------



## leswar

I saw the same error these last few days using 3.95T4; installing 3.95 did not fix. Should I downgrade to an earlier version?


----------



## dlfl

leswar said:


> I saw the same error these last few days using 3.95T4; installing 3.95 did not fix. Should I downgrade to an earlier version?


I'm getting the same RPC failures and I tested with old version 3.92, which had the same issues. I think it's a TiVo server problem.

The MG3 RPC code uses a different URL than online.tivo.com so successful login at one doesn't necessarily imply success using the other.

[as previously stated] Using RPC requires either rpcSearch128.exe or a Python 2.7 installation. rpsSearch128.exe is launched from within MG3 and is not designed or tested for command-line invocation.


----------



## elprice7345

FWIW, I'm getting a similar error from kmttg:


Code:


>> Collecting episode data for: Debris
RPC error response:
{
   "code": "authenticationFailed",
   "text": "Failed calling IT mind with 'login': ProcessITMindRequest caught 'Number of retries (1) exceeded: last error: PostString failed: Curl error: HTTP response code said error (22). Url: https://www8.tivo.com/authinternal/mindLite2?type=login'",
   "type": "error"
}
rpc Auth error - null


----------



## leswar

So it's been weeks now and still getting this:

Error getting seriesID:
RPC: Check TiVo credentials

While over at kmttg v2.4p this--

RPC error response:
{
"code": "authenticationFailed",
"text": "Failed calling IT mind with 'login': ProcessITMindRequest caught 'Number of retries (1) exceeded: last error: PostString failed: Curl error: HTTP response code said error (22). Url: https://www8.tivo.com/authinternal/mindLite2?type=login'",
"type": "error"
}
rpc Auth error - null

Anyone been in contact with TIVO to see what is up with them...
Is this intended action by them or what?
Uggh!


----------



## elprice7345

It's been at least a couple of weeks for me as well!

@dlfl - Can you gather any more information as a developer? Kevin is no longer developing kmttg , so that's probably a dead end.


----------



## dlfl

Trying to get some background on this, I searched the KMTTG thread on 'authentication' and 'authenticationfailed' and was surprised the most recent posts were in October 2019. I have never had any contact with anyone at TiVo about RPC - everything I knew came via @moyekj ('kevin'). My impression has been the RPC interface as used by us is not approved or supported by TiVo, rather was a result of hacking and reverse engineeering by kevin and/or possibly others. Kevin gave me enough info to get started then a lot of guesswork and trial-and-error was needed to arrive at the functionality in MG3. The authentication part, which apparently is what is failing, was something provided by Kevin and frankly I used it but never really understood it. I was hoping my search of the KMTTG thread would yield either info or a contact who could help.


----------



## Soapm

Just for the record, I'm getting the error also.


----------



## leswar

Until today it was only occurring on the tv side of things. Movies were still coming thru w/ programid info..that is until today.
Well now I get the credentials error when looking up info for any movie it seems.


----------



## Soapm

dlfl said:


> The credentials are probably sent over the internet in plain text (i.e., not encrypted) so a man-in-the-middle attack could grab them. But maybe not -- *there is a TiVo security certificate that is involved in MG3 communications with TiVo servers.*


In this post someone said there is a certificate involved, could that be what's causing our error?

Edited to add... The post is 94 of 732


----------



## Soapm

I'm wondering if Tivo cut off access to premiers, forcing us to buy a newer Tivo?

Unfortunately I can't test this theory since all I have is a premier and a TivoHD.


----------



## spamjam

It's happening to me and I have a Roamio.


----------



## dlfl

Soapm said:


> In this post someone said there is a certificate involved, could that be what's causing our error?
> 
> Edited to add... The post is 94 of 732


A lot of history about the required certificate, 15 mentions of "certificate" if you search this thread. The post you quoted is just the first of the group. The current certificate was hacked out by a user and posted in the KMTTG forum, see post 641 of this thread. It's supposed to be good until Dec. 2022.

I would expect a bad certificate to cause constant authentication errors. I don't know if that is what is being experienced. Intermittent auth errors would not signal a certificate problem IMHO. Even if it is a certificate problem, I have no idea how to get a new certificate.


----------



## Soapm

dlfl said:


> A lot of history about the required certificate, 15 mentions of "certificate" if you search this thread. The post you quoted is just the first of the group. The current certificate was hacked out by a user and posted in the KMTTG forum, see post 641 of this thread. It's supposed to be good until Dec. 2022.
> 
> I would expect a bad certificate to cause constant authentication errors. I don't know if that is what is being experienced. Intermittent auth errors would not signal a certificate problem IMHO. Even if it is a certificate problem, I have no idea how to get a new certificate.


Another way to look at it, how can it work for some but not others if we all have the same hacked certificate? I'm just trying to find the common tie.


----------



## elprice7345

Does RPC access work for anyone?


----------



## toy4x4

elprice7345 said:


> Does RPC access work for anyone?


Not worked for some time. Strange my metadata files are being ignored by my Premiere completely now. No info, jpg or folder grouping.

Anyone else have issues with folder grouping and ignoring of the metadata files while using pyTivo (both a Docker image and pyTivoDesktop)? My pyTivo config has not changed in years.


----------



## NBohr

dlfl said:


> Ver. 3.95 released. See first post for download link.
> 
> *Ver. 3.95* (29 April 2021)
> * Enhanced:* Right-click menus for Series and Movies in search result lists give Overview, Database Web Page and IMDB web page.
> *Enhanced:* In TV Series season/episode tree, right-click menus at season and episode items give Database Web page and IMDB web page,
> for either database selection.
> *Fixed: * Left click in TV Show search list box beneath listed items caused crash.
> 
> "Database" in above change notes refers to either TVDB or TMDb as selected.
> Showing the Database or IMDB web pages requires a default browser to have been defined. A descriptive error message should pop up if you attempt to show a web page without having defined the default browser.


 Please post link to download ver. 3.95. Thanks.


----------



## dlfl

NBohr said:


> Please post link to download ver. 3.95. Thanks.


The link is attached to the first post of this thread. Are you not able to download it?


----------



## NBohr

dlfl said:


> The link is attached to the first post of this thread. Are you not able to download it?


Found it. I wasn't logged in previously.

Great product!


----------



## ButchKy

Has anyone been able to get it to work yet without getting the RPC credential error?? Its not worked for me for a long time now. I really miss this program, I used it all the time.


----------



## elprice7345

Still not working for me. It's never been down for this long, so I suspect a change was made on the TiVo side that broke the functionality, intentionally or unintentionally.

@dlfl I also noticed some RPC functions are broken in kmttg, but not all?

Examples:
kmttg has a function (Episode Info [n]) that can grab all the episodes for a series. When executed it gives the following RPC error:


Code:


RPC error response:
{
   "code": "authenticationFailed",
   "text": "Failed calling IT mind with 'login': ProcessITMindRequest caught 'PostString failed: Curl error: Failure when receiving data from the peer (56). Url: https://www8.tivo.com/authinternal/mindLite2?type=login'",
   "type": "error"
}

rpc Auth error - null

Another kmttg function, that still works, is "Display Data [j]" which displays a bunch of details about a show including programId and seriesId:


Code:


Kajillionaire
Recorded Fri 07/02/2021 10:30 PM on 1802=HBOHD-E, Duration=106 mins, originalAirDate=2020-12-23, movieYear=2020
Old Dolio, the 26-year-old homeschooled daughter to a dysfunctional pair of Los Angeles scam artists, begins to question her unconventional upbringing and her identity after her parents invite a credulous stranger to participate in an upcoming scheme.
CopyProtected = Yes
ExpirationImage = save-until-i-delete-recording
HD = Yes
ProgramId = MV0423866774-0423866775
ProgramId_unique = MV0423866774-0423866775_1625286600000
SeriesId = MV0423866774
channel = HBOHD-E
channelNum = 1802
collectionId = tivo:cl.423866774
contentId = tivo:ct.423866775
date = Fri 07/02/2021
date_long = Fri 07/02/2021 10:30 PM
description = Old Dolio, the 26-year-old homeschooled daughter to a dysfunctional pair of Los Angeles scam artists, begins to question her unconventional upbringing and her identity after her parents invite a credulous stranger to participate in an upcoming scheme.
duration = 6355000
gmt = 1625286600000
kuid = yes
movieYear = 2020
offerId = tivo:of.ctd.888066.1802.cable.2021-07-03-04-30-00.6300
originalAirDate = 2020-12-23
recordingId = tivo:rc.1470489
size = 3166699520
sizeGB = 2.95 GB
title = Kajillionaire
titleOnly = Kajillionaire
tivoName = Media Room
url = removed
url_TiVoVideoDetails = removed

kmttg search still works, so if a show is available linearly in the next 10-14 days or available through one of the available streaming services a user would be able to find individual programIds and copy and paste them into MG3.

Another kmttg function that still works is "Display RPC data [j]" which displays even more details about a show also including programId and seriesId:


Code:


Betty - Sweet Tooth
Recorded Fri 07/02/2021 09:00 PM on 1802=HBOHD-E, Duration=31 mins, EpisodeNumber=205, originalAirDate=2021-07-02
Kirt enlists Shelby on a mission; Honeybear and Camille have second thoughts; Indigo looks to make a buck by any means; Janay and Sylvester are kind of a thing.
{
   "episodic": true,
   "subscriptionForCollectionIdAndChannel": [{
      "useOfferStartPadding": false,
      "useOfferEndPadding": false,
      "bodyId": "",
      "type": "subscription"
   }],
   "channel": {
      "logoIndex": 65553,
      "isDigital": true,
      "channelNumber": "1802",
      "isDiscovered": false,
      "isReceived": true,
      "isBlocked": false,
      "bitrate": "4185996132352",
      "levelOfDetail": "medium",
      "isHdtv": true,
      "isKidZone": false,
      "type": "channel",
      "callSign": "HBOHD-E",
      "isHidden": false,
      "isEntitled": true,
      "sourceType": "cable",
      "name": "HBOHD-E",
      "serviceId": "15152",
      "channelId": "tivo:ch.9",
      "isFavorite": false,
      "stationId": "tivo:st.888066"
   },
   "rating": [{
      "type": "typedTvRating",
      "value": "ma"
   }],
   "levelOfDetail": "medium",
   "mimeType": "video/mpg2",
   "type": "recording",
   "suggestionScore": 0,
   "remindUser": false,
   "isEpisode": true,
   "originalAirdate": "2021-07-02",
   "deletionPolicy": "neverDelete",
   "state": "complete",
   "subscriptionIdentifier": [{
      "subscriptionType": "seasonPass",
      "subscriptionId": "tivo:sb.15004221",
      "type": "subscriptionIdentifier"
   }],
   "contentType": "video",
   "tvRating": "ma",
   "drm": {
      "cgms": "copyNoMore",
      "multiRoomStream": true,
      "tivoToGo": false,
      "multiRoomView": false,
      "type": "drm",
      "recordingPlaybackPolicy": "allowed",
      "mrsPlaybackPolicy": "allowed"
   },
   "requestedEndPadding": 60,
   "scheduledEndTime": "2021-07-03 03:31:00",
   "colorType": "color",
   "quality": "best",
   "requestedEndTime": "2021-07-03 03:30:00",
   "size": 911360,
   "subtitle": "Sweet Tooth",
   "actualEndTime": "2021-07-03 03:31:01",
   "offerId": "tivo:of.ctd.888066.1802.cable.2021-07-03-03-00-00.1800",
   "desiredDeletion": "2038-01-01 00:00:00",
   "internalRating": [{
      "ratingTypeId": "tivo:rt.6",
      "type": "internalRating",
      "ratingValueId": "tivo:rv.6"
   }],
   "partnerCollectionId": "EP0414830902-0442565279",
   "actualStartTime": "2021-07-03 02:59:58",
   "episodeNum": [5],
   "contentId": "tivo:ct.442565279",
   "description": "Kirt enlists Shelby on a mission; Honeybear and Camille have second thoughts; Indigo looks to make a buck by any means; Janay and Sylvester are kind of a thing.",
   "title": "Betty",
   "hdtv": true,
   "collectionTitle": "Betty",
   "duration": 1857,
   "scheduledStartTime": "2021-07-03 03:00:00",
   "startTime": "2021-07-03 03:00:00",
   "transportType": "stream",
   "bodyId": "tsn:84900019023EFE5",
   "collectionId": "tivo:cl.414830902",
   "isAdult": false,
   "watchedTime": 0,
   "cc": true,
   "diskPartition": "user",
   "requestedStartPadding": 0,
   "seasonNumber": 2,
   "isNew": true,
   "collectionType": "series",
   "requestedStartTime": "2021-07-03 03:00:00",
   "descriptionLanguage": "English",
   "expectedDeletion": "2038-01-19 03:14:00",
   "videoResolution": "hd",
   "recordingId": "tivo:rc.1464499"
}

Can you tell how kmttg is getting the "Display Data" or "RPC data"? is there any way to use that technique with MG3?


----------



## dlfl

elprice7345 said:


> &#8230;&#8230;&#8230;&#8230;.
> Can you tell how kmttg is getting the "Display Data" or "RPC data"? is there any way to use that technique with MG3?


For a variety of reasons, really not worth discussing in detail, this is not going to happen. I just can't see a way to do this that has a reasonable probability of success with a reasonable amount of effort. Sorry!

I guess I will just be ripping the RPC stuff out of MG3 eventually since it appears to be dead forever.


----------



## elprice7345

No worries @dlfl! I thought it was worth asking.

As I think I mentioned earlier, I've switched to downloading content from my TiVos and playing it back on JRiver Media Center, which doesn't require an external metadata file.

I've stopped downloading metadata files with kmttg and pyTivo, since I no longer need them to pull back to my TiVos.

I'm sorry to see the functionality broken, because I'm sure people would still still like to use it.

That being said ... I still use MG3 multiple time daily to look up shows and movies and rename them.


----------



## leswar

elprice7345 said:


> No worries @dlfl! I thought it was worth asking.
> 
> As I think I mentioned earlier, I've switched to downloading content from my TiVos and playing it back on JRiver Media Center, which doesn't require an external metadata file.
> 
> I've stopped downloading metadata files with kmttg and pyTivo, since I no longer need them to pull back to my TiVos.
> 
> I'm sorry to see the functionality broken, because I'm sure people would still still like to use it.
> 
> That being said ... I still use MG3 multiple time daily to look up shows and movies and rename them.


So how does JRMC compare to just using PLEX would you say?


----------



## elprice7345

leswar said:


> So how does JRMC compare to just using PLEX would you say?


Sorry to be slow in replying!

TBH - I've never used Plex, so I can't compare.

I started using JRMC many years ago to manage my media files (music, TV shows and movies).

It is a great app that is constantly being developed and improved. It is very powerful and customizable. Lots of ways to tag and group things.

When I saw the writing on the wall about TiVo moving away from being able to download and upload shows, I started down the path of using JRMC as my main way to play downloaded or ripped media (as opposed to using JRMC only as a management tool and TiVo as the player).

Now that we can't search for programIds, this became much more important. JRMC looks up metadata based on tagging series or movies with a TMDB ID.

If I can answer any more specific questions, please send me a PM. Happy to help, but I don't want to turn this thread into a JRMC thread.


----------



## elprice7345

@dlfl - I found a search bug.

Using MG3 to search for the TV show "Secrets" using TVDB produces the correct results: 2 shows with that single word title show at the top of the search results. :thumbsup:

Searching for the TV show "Secrets" using TMDB doesn't produce the show at all. In fact, no single word results appear at all. :thumbsdown:

The show is at: Secrets
and: Secrets - TheTVDB.com

I also noticed when I search the TMDB web site directly, the show doesn't appear until near the bottom of the 2nd page of results.

Can you work your magic and fix it?


----------



## dlfl

elprice7345 said:


> @dlfl - I found a search bug.
> 
> Using MG3 to search for the TV show "Secrets" using TVDB produces the correct results: 2 shows with that single word title show at the top of the search results. :thumbsup:
> 
> Searching for the TV show "Secrets" using TMDB doesn't produce the show at all. In fact, no single word results appear at all. :thumbsdown:
> 
> The show is at: Secrets
> and: Secrets - TheTVDB.com
> 
> I also noticed when I search the TMDB web site directly, the show doesn't appear until near the bottom of the 2nd page of results.
> 
> Can you work your magic and fix it?


Doesn't seem fixable. TMDB is only returning 20 results to MG3 using that search term and none of them are the right one. Strange!


----------



## elprice7345

dlfl said:


> Doesn't seem fixable. TMDB is only returning 20 results to MG3 using that search term and none of them are the right one. Strange!


Hmmm ... so nothing you can do on your end if TMDB limits to 20 results.

This seems like a pretty big TMDB bug, especially for shows with common names like "Secrets".

IIRC, we had a similar issue with MG3 and TVDB and you forced exact matches to show at the top of the results. You can't do that here, because you don't have the results to prioritize.

Could you bring the issue up in the TMDB forum (I don't know enough or I would do it)? See if there's a way to return exact matches only? Or, have them prioritize results to include exact matches?


----------



## dlfl

elprice7345 said:


> Hmmm ... so nothing you can do on your end if TMDB limits to 20 results.
> 
> This seems like a pretty big TMDB bug, especially for shows with common names like "Secrets".
> 
> IIRC, we had a similar issue with MG3 and TVDB and you forced exact matches to show at the top of the results. You can't do that here, because you don't have the results to prioritize.
> 
> Could you bring the issue up in the TMDB forum (I don't know enough or I would do it)? See if there's a way to return exact matches only? Or, have them prioritize results to include exact matches?


See first post for download of new release Version 3.96

Turns out TMDB returns multiple pages of (about?) 20 results each for some series searches, including "Secrets". Why the item exactly matching the search query isn't in the first 20 results seems very strange, Anyway I have modified MG3 to get the first 2 pages (if 2 are available). BTW, for "Secrets" there are 15 pages of results! As always MG3 sorts the results based on their closeness to the search query and displays a maximum of the 23 best matches. For "Secrets" this puts it at the top of the list.

If I get ambitious I may bring it up on their forum but this seems to be a fix and was pretty easy. I would be reluctant to have MG3 getting 15 pages of results as the sort times based on similarity might get rather long (or not).


----------



## elprice7345

Thanks @dlfl!

Tested and working!

I believe I found a similar issue in JRiver Media Center. They aren't showing enough search results, but I can manually enter the TMDB Series ID and get it to work.


----------



## HerronScott

New program for 1 step TTG downloads, decryption, encoding - kmttg


----------



## lart2150

The new auth type looks like the link below. The hard part is getting the token as there are a hand full of requests that you need to make to exchange a username/password for a domainToken cookie the good news is the token looks like it should be valid for a week.
tivo-scripts/tivo-ws.js at master · lart2150/tivo-scripts


----------



## dlfl

lart2150 said:


> The new auth type looks like the link below. The hard part is getting the token as there are a hand full of requests that you need to make to exchange a username/password for a domainToken cookie the good news is the token looks like it should be valid for a week.
> tivo-scripts/tivo-ws.js at master · lart2150/tivo-scripts


Very interesting, and I've also read your posts on this in the kmttg thread. MG3 uses only the remote RPC portal. MG3 is written in C# but the RPC code is in a Python program that is run as a process by MG3. Results of RPC calls are obtained by capturing the stdout stream of the python program. The authorization code in the Python program (which no longer works) was provided by @moyekj (kmttg author). You can see this by downloading MG3 (see first post here). The Python file is rpcSearch128.py and the certificate is in the .pem file. The authorization code is near the top of the file.

I'm not a Java programmer and also don't really follow everything you've posted about the domain token, etc. Even if java code to perform the authorization could be devised, I doubt that I would want to port my entire Python program to java code. If it is possible to devise Python code to get the token and perform the authorization then it should be feasible to modify the python program so as to get RPC searches working again in MG3.


----------



## dlfl

Additional about RPC authorization:

If someone would help me devise C# (.NET) code to perform the “domain-token” authorization, I can probably port the python RPC code to C#, and this is something I am willing to attempt. The only reason the MG3 RPC code was done in Python was because I couldn’t figure out how to do the (old-style) authentication in C#.


----------



## lart2150

If you are going to rewrite it I would also switch to the websocket so you don't need to worry about the client certificate expiring. I'm not a python developer but I think if you wanted to keep the python code beyind getting the token (you could have people pull the cookie from their browser).


Code:


    self.Write(RpcRequest('bodyAuthenticate',
        credential={
            'type': 'mmaCredential',
            'username': username,
            'password': password,
            }
        ))

would become


Code:


    self.Write(RpcRequest('bodyAuthenticate',
        credential={
            domainToken={
                'domain': 'tivo'
                'token': 'the cookie token here'
                'type': 'domainToken'
            }
        ))

I've started working on building a javascript (node) client to pull the token and you start with TiVo Online you'll get 302 redirected to another page with a form you'll need to pull the two hidden fields and the post url.

That post will 302 redirect you to the sign in page. there's another post that happens to get what all is enabled you can ignore that

the next post to 
https://tivoidp.tivo.com/s/sfsites/aura?r=1&other.Tivo_idp_LightningLoginForm.login=1 does the real login. Based on my experience with salsforce aura.context does change from time to time so you'll need to extract it from the page. aura.pageURI is the same as the page you were redirected to without the domain/protocol. This will give you a frontdoor url 
that should redirect you to another page that will have the saml response extract that do the saml post and you'll have your cookie.


----------



## dlfl

Assuming the ‘body authenticate’ code replacement you are suggesting works with a suitable domain token cookie, are you saying that the client certificate you provided that expires 12/2022 (which is embodied in the .pem file distributed with MG3) will still be needed, unless the switch to websocket is done? Also, since the modified call does not send the user/pwd credentials does that mean the domain token is unique to each user?


----------



## lart2150

You would need to use the websocket to no longer need the client certificate. I find the websocket a lot easier then the raw tls connection as you'll get a whole response in one websocket message.

The domainToken cookie is a session cookie for a given user that is good for I think a week.

If I finish my node client it would be super easy to make a rest http server that you bundel and run instead of making individual calls.


----------



## dlfl

I was able to grab a domainToken in my Edge browser cookies under TiVo, but it was for online.tivo.com, not just tivo. I assume that would not be the correct token for RPC (?). If it is correct, I would try hardcoding it into my python code with your suggested mod just to see if it enabled RPC to work.

I don’t understand how the rest server would be used in conjunction with MG3. Would that be a separate java program that MG3 would call into? From python code, or from C# code? I.e., it would interface between MG3 and the middlemind server?


----------



## lart2150

I was thinking you would have MG3 call the node (javascript not java) server directly as a simple http interface to make mind calls. I could also make a node script that takes parameters like the python script does. I still think the websocket client would be fairly easy to write in c# the harder part is all the parsing you need to do for getting the cookie.

There is at least one request where you need to pass it a real browser user agent or you'll get a error message but a 200 http response.
tivo-scripts/getDomainToken.js at master · lart2150/tivo-scripts


----------



## dlfl

I did a little googling and now have a picture of how nodejs/javascript works. I’m still hazy about some of your suggestions but I wonder if something like the following would make sense, building on your idea of a node server acting as a simple http interface to make middlemind calls:

Inititally I modify my python script so it communicates with that node server. Since the python RPC requests already use JSON formatted data, I assume this should be easy. I’m assuming the node server would use the required domainToken authorization. And maybe it could use websockets although I’m hazy about what modifications that would imply in the python code, i.e., ranging from almost nothing to not possible at all. My impression is that performance is not a major factor here.

Meanwhile, I will be porting the python code to C# so it is integrated into the MG3 program so the python dependency is eliminated.

I don’t think requiring users to install node.js is a significant issue and I believe the MG3 code can launch the node server at startup.

Now, about the domainToken:
Could the node server implement a call that would get a token? Then if RPC calls fail the C# code could query the node server for a new token and retry. (Or could this fail/get-token/retry be built into the node server?) 

BTW is your javascript code to get a domainToken working?

TIA for your help!


----------



## Zaphod

dlfl said:


> I don't think requiring users to install node.js is a significant issue...


My personal preference would be not to have to install Node.js. Just my personal preference.


----------



## dlfl

Zaphod said:


> My personal preference would be not to have to install Node.js. Just my personal preference.


Just curious, what is the reason for this? BTW Node.js installation would only be necessary for users who want to do RPC searches.


----------



## Zaphod

Zaphod said:


> My personal preference would be not to have to install Node.js. Just my personal preference.





dlfl said:


> Just curious, what is the reason for this? BTW Node.js installation would only be necessary for users who want to do RPC searches.


As an end user I don't have node.js installed for anything else and would prefer not to have yet another run-time engine type thing installed on my PC just for this. At least with the Python engine I have several apps that utilize Python. Just a personal preference thing if it were relatively easy to avoid (and I don't know that it is). That said, I'll install it if it's the only way to fix the RPC searches.

And yes, RPC searches is exactly what I want.


----------



## ClearToLand

dlfl said:


> ...*I don't think requiring users to install node.js is a significant issue* and I believe the MG3 code can launch the node server at startup...





Zaphod said:


> *My personal preference would be not to have to install Node.js*. Just my personal preference.





dlfl said:


> *Just curious, what is the reason for this?* BTW Node.js installation would only be necessary for users who want to do RPC searches.





Zaphod said:


> *As an end user I don't have node.js installed for anything else and would prefer not to have yet another run-time engine type thing installed on my PC just for this*. At least with the Python engine I have several apps that utilize Python. Just a personal preference thing if it were relatively easy to avoid (and I don't know that it is). That said, I'll install it if it's the only way to fix the RPC searches.
> 
> And yes, *RPC searches is exactly what I want*.


As the End User of **FREE** software that I find very useful for my needs, if the Developer, who invests HUNDREDs of *UNPAID* hours creating, maintaining and answering questions about his software as a "_Labor of Love_", feels that requiring the User to install an additional software package on their PC is *NOT a significant issue* (and will save him countless hours of development TIME & GRIEF), then I, as a fellow programmer / techie / TiVo User, say " *@dlfl do whatever you need*" :handok: .

I, amongst a **HANDFUL** (Sadly, yes - NOT EVERYONE who replies to questions on a regular basis here on TCF presents *consistently* CORRECT answers; since no one corrects them, I '_ass-u-me_' that either they don't realize it *OR* general forum etiquette frowns upon it - i.e. confrontation...) of other TCF "*Technically Competent TiVo Users*" (a few of whom I have exchanged '_thoughts / ideas / opinions_' with via PMs) who choose to freely VOLUNTEER their time to reply to and attempt to help "Non-Technical TiVo Users" really keep wondering "*Why do we repeatedly subject ourselves to this unnecessary grief?*" (Some have stopped posting; some have left TCF.  ).

Only a couple of days ago I was *CUSSED AT*  for asking a TiVo User (who was COMPLAINING about a problem that I was attempting to help him with) several questions for him to answer to aid me in the pursuit of a possible solution. The *ONLY* thing he could keep repeating was "_*I bought it from Weaknees*_" . For some unknown to me reason, **ALL* of his posts suddenly 'disappeared'* (I didn't report him?!? Maybe someone else did.). His original posts somewhat remain in my QUOTEs of his posts when replying with my troubleshooting questions: Stuck on Starting Up after Internal HD replacement

Sorry for the off-subject tangent @dlfl but I just wanted to present an opposing opinion to what @Zaphod posted.


----------



## dlfl

lart2150 said:


> I was thinking you would have MG3 call the node (javascript not java) server directly as a simple http interface to make mind calls. I could also make a node script that takes parameters like the python script does. I still think the websocket client would be fairly easy to write in c# the harder part is all the parsing you need to do for getting the cookie.
> 
> There is at least one request where you need to pass it a real browser user agent or you'll get a error message but a 200 http response.
> tivo-scripts/getDomainToken.js at master · lart2150/tivo-scripts


By a "real" browser user agent, do you mean for a browser that actually is installed on the computer running the code?

Also, did you notice my post #762 above?

I've been researching .net framework websocket client (for the mg3 C# code) and can't find any counterpart to the domainToken credentials used in your .js code. There is a cookie object that can be set to be sent with ws requests. I wonder if that is it?


----------



## dlfl

Zaphod said:


> As an end user I don't have node.js installed for anything else and would prefer not to have yet another run-time engine type thing installed on my PC just for this. At least with the Python engine I have several apps that utilize Python. Just a personal preference thing if it were relatively easy to avoid (and I don't know that it is). That said, I'll install it if it's the only way to fix the RPC searches.
> 
> And yes, RPC searches is exactly what I want.


I just installed node.js on my Win10 PC and although it went smoothly I have to admit it made me a little uneasy. The installer launches a PowerShell script that goes through a flurry of commands installing a myriad of things apparently needed to support node. There are numerous messages, possibly warnings or errors, that scroll so fast you can't read them. It does create log files that you can go inspect later.

This was several days ago. I've been experimenting, learning JavaScript programming with node.js. So far all seems OK and I don't think the node.js installation ate up a huge amount of disk space, although I don't have a number for that. Considering all the items it installed, the only way I could know that would be to have noted the disk space before installation, which I didn't do. I wonder if the uninstaller removes all those things?


----------



## lart2150

For some of the calls to tivoidp.tivo.com you need to send a browser user agent header like chrome or firefox, node and user agents curl don't work. You could look at my code and try and convert it to c# I use some dom parsing and regular expressions. The one wonky thing I do is on line 48 where I limit the number of redirects because the cookie library has a bug.

When you install node there's an option to also install build tools via chocolatey. The build tools are not needed for any of the libraries I use. There is a npm package that can convert a node script into a self contained exe but it's about 25MB.


----------



## dlfl

lart2150 said:


> I was thinking you would have MG3 call the node (javascript not java) server directly as a simple http interface to make mind calls. &#8230;&#8230;&#8230;


I would like to go in this direction. I'm hoping you are offering to create that node server, since I am a long way from knowing how to do it.

I'm curious: is the GetDomainToken function in the Git repo working or still under development?


----------



## dlfl

dlfl said:


> I would like to go in this direction. I'm hoping you are offering to create that node server, since I am a long way from knowing how to do it.
> 
> I'm curious: is the GetDomainToken function in the Git repo working or still under development?


Much to my surprise I've managed to create a node server that seems to work for this purpose. I've made the required mods to the rpcSearch python file and I'm testing MG3. Initial results look good.

The certificate that expires is no longer needed, but the "domainToken", which is a currently valid cookie for online.tivo.com, is required. It is easily obtained from the MS edge browser. Assuming testing continues to be successful, some work will be required to create distribution packages and facilitate entering the domainToken cookie. The python code is ported to Python ver. 3.9 so either that version will have to be installed, or a new version of the python executable will be an option. The node server has to be distributed. I will look into the practicality of creating a stand-alone .exe for that too, for those who don't want to install node.js and the required express package. Hopefully, MG3 will be able to launch the server on startup and terminate it upon shutdown.

Hopefully, having the node server automatically obtain/refresh the domainToken cookie can be incorporated, assuming @lart2150 has perfected that code.


----------



## dlfl

Ready for testing for the brave! RPC searches are back.
*EDIT:* Everything originally attached to this post has been updated due to changes and enhancements, and are attached to a later post, so all attachments here have been removed.

Test distro ver. 3.97T1 is contained in the attached zip. *EDIT:* attachment removed, superseded by MG397T2 attached to later post. *But first* download the attached NodeServerInstructions.txt file to see what needs to be done to install node.js and other considerations. It includes everything you need to know to get going.

This version requires grabbing a domainToken cookie. This is easy and procedure is in the .txt file.

When you start your first RPC search, the node server will be launched in a small windows command window. You can minimize if if you desire, and later versions will hide it. This will be shut down automatically when you shut down MG3.

Thanks are due to @lart2150 for showing how to do this in node.js!


----------



## ButchKy

Oh my god, thank you so much for all your hard work!! I have tried all of your instructions, everything looks good. Node.js installation good, typed node main.js saw the server 3000 message ok, saw the names tony, lisa... food in the browser. Retrieved domain token with Edge and put it in the MG3 settings. But when I do an RPC search I get the following error: error getting seriesid:RPC returned nothing. I went through all steps about four times and I have no clue what I might be doing wrong. Any suggestions would be much appreciated. Thanks.


----------



## dlfl

ButchKy said:


> Oh my god, thank you so much for all your hard work!! I have tried all of your instructions, everything looks good. Node.js installation good, typed node main.js saw the server 3000 message ok, saw the names tony, lisa... food in the browser. Retrieved domain token with Edge and put it in the MG3 settings. But when I do an RPC search I get the following error: error getting seriesid:RPC returned nothing. I went through all steps about four times and I have no clue what I might be doing wrong. Any suggestions would be much appreciated. Thanks.


Please provide some details.
Which windows version.
Did you install python? If so what version? Or are you using rpcSearch129.exe?
Some rpc searches return nothing and that is the message you get. Have you tried several different series?
Did you close the command window after testing the node server?
Do a search for example for seriesId for the series "liimitless". Copy what shows up in the node server command window and paste or attach here.


----------



## ButchKy

Thanks for getting back to me. I'm using Windows 10, using rpcSearch129.exe. I've tried dozens of series. Closed the command window after test. Below is what comes up in the node server window when I search for limitless.

Server running on port 3000
QUERY = {"domainToken":"wuBVGMDr8ELZ.H8lcrOUGmbWGxn4.1TIftc1XPimadYEnvi4pJS1SXm5ug7fEIi7BItEIogWiueYByGw5xDUgPLC8UcTU.c5ps0QzIBOxo5qi7CzxYZOtAiqt_4aGV9i_8rjpOP7ETtnvOb9zsq_icr4VxCKqjJulvdE9v.tOhmlMU0YmcwYRf4pRP771gOM87Gdxq7SDeYCbgqX_1VEi.NVohfDvnRK","tsn":"tsn:84900019047E035"}
DOMAINTOKEN = wuBVGMDr8ELZ.H8lcrOUGmbWGxn4.1TIftc1XPimadYEnvi4pJS1SXm5ug7fEIi7BItEIogWiueYByGw5xDUgPLC8UcTU.c5ps0QzIBOxo5qi7CzxYZOtAiqt_4aGV9i_8rjpOP7ETtnvOb9zsq_icr4VxCKqjJulvdE9v.tOhmlMU0YmcwYRf4pRP771gOM87Gdxq7SDeYCbgqX_1VEi.NVohfDvnRK
TSN = tsn:84900019047E035
QUERY = {"title":"limitless","orderBy":"strippedTitle","includeBroadcast":"true","includeFree":"true","includePaid":"false","includeVod":"false","levelOfDetail":"medium","count":"50","mergeOverridingCollections":"true","filterUnavailable":"false","collectionType":"series","type":"collectionSearch"}
connected
Request = MRPC/2 253 323
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: collectionSearch
BodyId: tsn:84900019047E035
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"title":"limitless","orderBy":"strippedTitle","includeBroadcast":"true","includeFree":"true","includePaid":"false","includeVod":"false","levelOfDetail":"medium","count":"50","mergeOverridingCollections":"true","filterUnavailable":"false","collectionType":"series","type":"collectionSearch","bodyId":"tsn:84900019047E035"}

{
QUERY = {"title":"limitless","namespace":"trioserver","count":"25","bodyId":"tsn:84900019047E035","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}
Tivo mind websocket closed 1005
connected
Request = MRPC/2 248 177
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: offerSearch
BodyId: tsn:84900019047E035
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"title":"limitless","namespace":"trioserver","count":"25","bodyId":"tsn:84900019047E035","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}

{
QUERY = {"levelOfDetail":"medium","count":"5","collectionId":"tivo:cl.185032202","type":"collectionSearch"}
Tivo mind websocket closed 1005
connected
Request = MRPC/2 253 131
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: collectionSearch
BodyId: tsn:84900019047E035
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"levelOfDetail":"medium","count":"5","collectionId":"tivo:cl.185032202","type":"collectionSearch","bodyId":"tsn:84900019047E035"}

{
Tivo mind websocket closed 1005


----------



## dlfl

@ButchKy
I'm perplexed. I have a separate folder where I install MG3 and the node server using the contents of the zips attached to my post, and using rpcSearch129.exe. When I run limitless there my node server window output is identical to yours aside from tsn and domaintoken values, but mine goes on to one additional query. Is it possible you missed selecting the entire output when you copied?

Your node server is connecting to tivo middlemind, which indicates you have a valid domainToken. Recheck your tsn number if you haven't already. Beyond that I don't have any idea what's wrong.


----------



## dlfl

*Everybody:* I just discovered that the 3.97T1 zip contains rpcSearch128.py instead of rpcSearch129.py. (sorry, and will provide updated distro ASAP.)

This means those running that distro WITH python 3.x installed will fail at startup with popup message. If however, you have downloaded and installed rpcSearch129.exe then MG3 will run.

Note this has no connection to the problems @ButchKy is having.


----------



## dlfl

Test Distro Ver. 3.97T2 in attached zip.

fixed: Correct rpcSearch129.py file included.

Be sure to download the other two attachments to post #772


----------



## ButchKy

TSN is correct and I did copy the complete contents of the node server window.


----------



## dlfl

@ButchKy

For diagnostic purposes download attached main.zip and copy main.js from it, then replace main.js in the nodeServer subfolder with it *(AFTER SAVING OFF THE PREVIOUS main.js*)

When you do rpc Searches this will cause the node server to display, in its command window, the responses it is sending back to MG3/rpcSearch. You are sending the correct queries and not getting any error returns, apparently just emptiness. This will either verify that or will show responses being sent so we have to figure out why MG3 doesn't receive them.


----------



## Zaphod

dlfl said:


> Ready for testing for the brave! RPC searches are back.


Thanks much! It's working for me!

One minor request, but if it's difficult then never mind. It does look like you're expecting node.js to be in the default C:\Program Files or Program Files (x86) location. I generally don't install anything on my C: drive.

Node.js does appear to be in the PATH on my computer so can it not utilize that? Otherwise, what about adding a settings config item for the path to Node.js like you had for the Python .exe?


----------



## dlfl

Zaphod said:


> Thanks much! It's working for me!
> 
> One minor request, but if it's difficult then never mind. It does look like you're expecting node.js to be in the default C:\Program Files or Program Files (x86) location. I generally don't install anything on my C: drive.
> 
> Node.js does appear to be in the PATH on my computer so can it not utilize that? Otherwise, what about adding a settings config item for the path to Node.js like you had for the Python .exe?


Thanks, it's a relief to know it's working as distributed. I'm sure the path to nodejs exe can be added to the Mind RPC settings. It might work based on a PATH setting but I think having the user browse to the folder and set the complete path is better.


----------



## ButchKy

Tried what you said and i've attached a text file with the results.


----------



## dlfl

ButchKy said:


> Tried what you said and i've attached a text file with the results.


It's responding with the right kind of stuff but it just quits mysteriously before it should. Only idea that occurs immediately is increasing the timeout value in the mind RPC settings. Just make it really huge for test purposes.


----------



## dlfl

@ButchKy
Please replace the original main.js and then time from when you hit the "Do SeriesID search" button and the message saying no results appears, for the "limitless" series. On my PC the complete successful search takes 23 seconds. I'm wondering if we could have some kind of timeout occurring at the TiVo middlemind server if your searches are taking longer than mine for some reason.

I have noticed that if I check the "Deep Search" box for some seriesID searches the result will be that RPC returned nothing, and I'm guessing that the tivo server itself is calling a timeout if a search is taking too long. Why this would happen for you and not me for identical searches, I don't know.
EDIT: I just tried deep search for limitless and it timed out, but the message was "RPC: Middlemind server timed out". Different message from yours, correct?


----------



## dlfl

@ButchKy 
Another check: open a command window and enter just "node". What is the version number?


----------



## ButchKy

I really do appreciate all your help. node version number was V14.17.6. I tried everything you said, my search for limitless was only around 12 seconds and this time I received the message: error executing process


----------



## dlfl

ButchKy said:


> I really do appreciate all your help. node version number was V14.17.6. I tried everything you said, my search for limitless was only around 12 seconds and this time I received the message: error executing process


We have to entertain the possibility that there is something "different" about your system, although so far we have only one other user report, which was good. Can you think of anything about your hardware or windows setup that would be out of the ordinary? Are you running in an admin account? All my software installs, development and testing have been in an admin account.

We know from data you've provided that all the software components are running (node server, python code) and that middlemind is returning results to the node server, which thinks it is sending them to the python code. But somehow either the python code isn't receiving them, or is corrupting them before sending them into the MG3 code. Or some mysterious condition is causing early termination of the node server-to-middlemind connection.

On my development PC I can run the python code and node server without the connection to the MG3 program, and can put diagnostic print statements in the python code to debug what's happening. But that doesn't help in this case because the errors don't happen on my system.


----------



## dlfl

@ButchKy 
If you continue to be stuck, and are willing to install python ver. 3.x, I can send you a modified rpcSearch129.py and instructions for how to get some diagnostic info. It's not that difficult. And then you could also run MG3 using the python installation instead of the rpcSearch129.exe file, in case some issue with the .exe is causing the problem.


----------



## dlfl

Zaphod said:


> Thanks much! It's working for me!
> ........


Are you using the rpcSearch129.exe file or a python installation?


----------



## ButchKy

I am using rpcSearch129.exe. I am more than willing to try by installing python.


----------



## dlfl

ButchKy said:


> I am using rpcSearch129.exe. I am more than willing to try by installing python.


Unless we can think of something else, that's all I can suggest for now. After you install python be sure to enter the path to python.exe in the Mind RPC settings, and just to be sure MG3 isn't using the other file, move it out of the runtime folder. If that doesn't fix it, let me know and I will send you file and instructions for some debugging.

Also, check in your browser that your domainToken cookie is current, since it apparently changes. I think you need to login to online.tivo.com prior to looking at the cookie, to ensure getting the current value.


----------



## ButchKy

Thank you again, I will try the python install and report back results.


----------



## dlfl

All originally distributed files for the new RPC-enabled MG3 have been updated and were removed from the previous post that provided them.
*EDIT: All attachments removed, see post #808*

Test distro ver. 3.97T4 is contained in the attached zip. *But first* download the attached NodeServerInstructions.txt file to see what needs to be done to install node.js and other considerations. It includes everything you need to know to get going, including a link to download the (new) rpcSearch130.exe, if desired.

This version requires grabbing a domainToken cookie. This is easy and procedure is in the .txt file.

When you start your first RPC search, the node server will be launched in a small windows command window. You can minimize it if you desire, and later versions will hide it. This will be shut down automatically when you shut down MG3.

Ver. 3.97T4 (20 September 2021)
Enhanced: RPC settings no longer needs TiVo user or password
Enhanced: Path to node.exe now can be set in RPC setting. Defaults to program files folder if not set
Enhanced: In RPC settings, now enter Timoeout Multiplier rather than absolute value
Changed: Python files required for RPC, now rpcSearch130.py or rpcSearch130.exe
Changed: NodeServerInstructions.txt updated.

I realized the new RPC calls don't need your TiVo credentials, just the domainToken and TSN.
I found some programId searches were timing out for large series such as Cheers. So now instead of a single timeout value entry, you enter a timeout multiplier factor which multiplies default timeouts. Here are the defaults (in seconds):

SeriesID searches: 40
Deep SeriesID searches: 150
Series program ID searches: 240 (NCIS took 295)
Movie program ID searches: 60


----------



## ButchKy

Quick update. I tried using python with no luck, so I decided to do clean install of windows on my machine and try everything from scratch. Everything looks fine, but now I am getting the error message unable to connect to the remote server. The node server is working. I type is node main.js and I get the port 3000 message. When I click on get rpc to do a search the command windows doesn't open up, it just quickly flashes for about half a second. Any thoughts????


----------



## dlfl

ButchKy said:


> Quick update. I tried using python with no luck, so I decided to do clean install of windows on my machine and try everything from scratch. Everything looks fine, but now I am getting the error message unable to connect to the remote server. The node server is working. I type is node main.js and I get the port 3000 message. When I click on get rpc to do a search the command windows doesn't open up, it just quickly flashes for about half a second. Any thoughts????


After manually starting main.js did you shut it down with Ctrl-C and/or closing command window?

Did you install the latest versions, attached to post #794?

Are you installing and running in an admin account? Check properties...security on node.exe, Metagenerator Version 3.exe and rpcSearch130.exe. For the account you're running in, do they have read and execute permissions?

If not running in an admin account, try right-clicking Metagenerator Version 3.exe and select "run as administrator".

I recommend NOT installing MG3 under either of the program files folders.


----------



## ButchKy

shut down main.js with Ctrl-C, then closed window.
Used all files in post #794
am running in admin account
MG3 not installed under either program file folders


----------



## dlfl

@ButchKy
I had a theory. Immediately after starting the node server, an http request is sent to configure the domainToken and TSN. These are sent as query string parameters so it occurred to me that perhaps special characters such as '=', '?', '&' or '%' in the domainToken could cause an ill-formed query string and that would crash the server. However I did extensive testing inserting many different combinations of these characters and it never crashed the server, just returned an error message suggesting a bad domainToken.

So I am still stumped. So far only one other user has reported successful operation of this, so the vote is 1 to 1 on a good distribution. I hope others will report their results with it.


----------



## dlfl

@ButchKy
*EDIT: Disregard this post, attachment removed.*
OK, here is the next remote debugging step:
Download the attached test distro MG397T5.
Delete all files in your MG3 install folder except rpcSearch128.exe. (And don't remove the nodeServer folder).
Place all files from the downloaded zip in the install folder.
Now run MG3 and attempt an RPC search. The test code has two points where it will stop and pop up a message:
1. After attempting to launch the node server.
2. After attempting to configure the node server with TSN and domainToken

When you see the first message,* before clicking OK*, observe the node server command window -- or does it exist?
Also what is the status reported in the message?

When/if you see the second message, *before clicking OK*, observe the node server command window -- or is it gone?
Also what is the status reported in the message?

What happens when you shut down MG3. Any error messages?


----------



## ButchKy

Here are my results:

Message #1: Started node server/Status = OK (no server command window)
Message #2: Configured node server/Status = Unable to connect to the remote server (no window)

When I tried to shut down MG3 it gave me an error and I copied that entire message to the attached text file.


----------



## dlfl

ButchKy said:


> Here are my results:
> 
> Message #1: Started node server/Status = OK (no server command window)
> Message #2: Configured node server/Status = Unable to connect to the remote server (no window)
> 
> When I tried to shut down MG3 it gave me an error and I copied that entire message to the attached text file.


*EDIT: Disregard this post. Attachment removed.*
So, if the server window was gone at Message #1 *before* you clicked OK, that means MG3 was unable to start the server program properly. The error you got on closing MG3 is the expected error if the server process doesn't exist when MG3 tries to kill it.

I've made a couple of changes in the MG3 code that launches the node server. They don't affect operation on my PC but conceivably they could matter on yours. The two message points are still included. Please repeat the previous test using test ver. 3.97T6 from the attached zip.


----------



## ButchKy

Results exactly the same. Shutdown error on MG3 was also the same.


----------



## dlfl

ButchKy said:


> Results exactly the same. Shutdown error on MG3 was also the same.


Verify main.js is located in the nodeServer subfolder of the folder containing the MG3 executable file.

Other than that, all I can suggest is redo the nodejs installation and placing the files from nodeServer101.zip.


----------



## ButchKy

I don't usually quit something until I've figured it out, but I give up!! You have been so great to help me in anyway that you can. I appreciate all you help and suggestions. But this thing just isn't going to work for me for some reason. I love using MG3 and will just continue using it like I have for the past months. I can still get episode descriptions and group each different show using a generic number. Thank you again so much.


----------



## dlfl

*EDIT: Disregard, and attachment removed: Any RPC-enabled testing should use the files provided by post #808 of this thread.

Urgent Update:*

If you're using the test version that does RPC searches with the node server, I discovered a bug in the rpcSearch130.py (and .exe) files that prevents some of the results. Rather than a complete new MG3 distribution, I'm providing corrected versions. The .py file is in the attached zip. The .exe file can be downloaded from this link:
rpcSearch130a.zip

*The new files have the same names*, rpcSearch130.py (and .exe), as the ones they are replacing, so be careful to keep track of them.

And just a reminder: After downloading a .zip file, bring up properties and unblock it before extracting the files. Also when you place the revised files in the MG3 runtime folder, it is safest to move the ones being replaced to a different location first.

Just a tidbit of good news: I am creating a C# executable that will replace the node server, so you don't require a node.js installation. Just got it running so some hours of testing and refinement before distributing it. The MG3 executable will be able to run with either server version and if you have both, the c# version will be the default but a command line option will allow you to force use of the node server. Initial tests indicate the node version is faster, 14 secs vs. 22 secs for one specific search.

Ultimately there is no reason the python program can't be replaced with c# code, but that will be a major porting job, maybe in the future.


----------



## Zaphod

dlfl said:


> Are you using the rpcSearch129.exe file or a python installation?


I'm using the rpcSearch129.exe.

I have Python 2.7 installed for other software, and I haven't wanted to mess with trying to get both 2.7 and 3.x working on the same PC yet, so I'm using the rpcSearch1xx.exe. It works for me.

I see there have been some updates. I'll have to download the newest version and try it out when I have a chance.


----------



## dlfl

Zaphod said:


> As an end user I don't have node.js installed for anything else and would prefer not to have yet another run-time engine type thing installed on my PC just for this. At least with the Python engine I have several apps that utilize Python. Just a personal preference thing if it were relatively easy to avoid (and I don't know that it is). That said, I'll install it if it's the only way to fix the RPC searches.
> 
> And yes, RPC searches is exactly what I want.


The C# replacement for the node.js server is about ready for prime time, and is small enough to be included in the MG3 distribution zips. But there's bad news and good news.

The bad news is the C# server is a lot slower than the node server. On seriesId searches it takes about twice as long while it takes maybe 10 times as long for a movie programId search. Maybe it can be blamed on the .NET framework but regardless of the cause I haven't been able to improve it.

The good news is I just got a compiled version of the node server going. It requires installing two files totaling about 51 MB but it doesn't require the node.js installation. These files would be downloadable via my One Drive just as has been done for the rpcSearch exe files. Just for comparison, my node.js installation takes 70+ MB of disk space.

Thus folks like you who would prefer not to install Node.js can have a fast server for RPC searches.


----------



## dlfl

*EDIT: *All attached files removed -- superseded by Test Distro Ver. 4.01T1, see post #828

Complete new RPC-enabled test distro ver. 3.97T9 in attached zip. There are now 3 choices of RPC mind servers, one of which doesn't require downloading/installing any additional files but is significantly slower performing than the other two which are node.js based. Please see attached "RPCsupportFilesInstructions.txt" for details and instructions. You may not need all the attached or linked downloads, please read the instructions to decide what you need. The python RPC file version now required is rpcSearch131. Here is a link for the compiled (.exe) version:

rpcSearch131.zip

Another link, which you may or may not need, (20 MB size) to compiled node mind server (2 files) is:

mg3nodeserver.zip


----------



## ButchKy

I finally got it working!!!! Working just like it used to. Thank you so much for all your time and effort that you put in to this. Do you have any way that we could send a little donation your way for your trouble???


----------



## dlfl

ButchKy said:


> I finally got it working!!!! Working just like it used to. Thank you so much for all your time and effort that you put in to this. Do you have any way that we could send a little donation your way for your trouble???


Good to hear! Which version of the mind server are you using?

No donation desired. We all need to thank @lart2150 for showing how to use websockets and the domain token cookie to communicate with the TiVo middlemind server.


----------



## szwjunk

I have persuaded this latest version of MG/RPC to successfully retrieve seriesIds and programIds using your compiled nodeServer (I preferred not to install all of node.js). Hooray! Thanks so much for finding a way to get this to work again - it's a lifesaver for me.

For the record, I tried using the C# server, but consistently received this error:

_RPC: middlemind error - bad domainToken?_​
Since the same domainToken works correctly using the compiled nodeServer option, I am not quite sure what's amiss here, but thought I'd let you know.


----------



## dlfl

szwjunk said:


> I have persuaded this latest version of MG/RPC to successfully retrieve seriesIds and programIds using your compiled nodeServer (I preferred not to install all of node.js). Hooray! Thanks so much for finding a way to get this to work again - it's a lifesaver for me.
> 
> For the record, I tried using the C# server, but consistently received this error:
> 
> _RPC: middlemind error - bad domainToken?_​
> Since the same domainToken works correctly using the compiled nodeServer option, I am not quite sure what's amiss here, but thought I'd let you know.


Glad the compiled server is working for you. During development/testing I saw that error once or twice using the C# server and my guess was it was caused by a time delay in the TiVo server responding to the initial handshake using the domain token. It always succeeded the next time I tried. I put in a time delay in hopes of preventing it but it never occurred often enough to really tell if I fixed it. If you wouldn't mind doing a little testing for me, uncheck "Use NodeJS server" in Mind RPC settings (which will force it to use the C# server) and then when you get that error, see if trying again leads to success.


----------



## dlfl

*OOPS! * Sorry folks, there is a bug in the C# mind server -- do not use it until I get it fixed.

Has to do with timing of sending DomainToken and TSN to server before making a middlemind request. Leads to using an old token and tsn of mine instead of your current ones.


----------



## szwjunk

Hi there @dlfl - thanks for the reply, and the suggestion.

So, I re-tested using the C# server, submitting multiple requests (actually, technically, it was the same request multiple times) as you suggested. However, I did get the same _bad domainToken? _result (as noted above) each time. FWIW, I also tried changing the timeout multiplier setting to various values, but it didn't make any difference.

By all means, I would be more than happy to try anything else you think might help troubleshoot, but since the compiled nodeServer is working - for me at least - I'll leave that to your discretion.

Again, thanks for all the hard work!


----------



## szwjunk

> *OOPS! * Sorry folks, there is a bug in the C# mind server -- do not use it until I get it fixed.


Aha! Well, I imagine that would explain the result I was seeing!


----------



## dlfl

szwjunk said:


> Hi there @dlfl - thanks for the reply, and the suggestion.
> 
> So, I re-tested using the C# server, submitting multiple requests (actually, technically, it was the same request multiple times) as you suggested. However, I did get the same _bad domainToken? _result (as noted above) each time. FWIW, I also tried changing the timeout multiplier setting to various values, but it didn't make any difference.
> 
> By all means, I would be more than happy to try anything else you think might help troubleshoot, but since the compiled nodeServer is working - for me at least - I'll leave that to your discretion.
> 
> Again, thanks for all the hard work!


We cross-posted. Sorry for wasting your time. I'm working on the fix for the C# server.


----------



## szwjunk

> We cross-posted. Sorry for wasting your time. I'm working on the fix for the C# server.


Please don't apologize. I'm very much in your debt for providing such a great utility, so if anything, _I _should be apologizing to _you _for cross-posting!


----------



## reneg

Trying to follow the instructions in post #808 - Metagenerator 3 -- Support & Downloads (avoiding the c# method for now). Installed node.js which seems to work, but I'm not seeing instructions on how to grab the domainToken. Can someone please point me in the right direction to extract the domainToken?


----------



## dlfl

reneg said:


> Trying to follow the instructions in post #808 - Metagenerator 3 -- Support & Downloads (avoiding the c# method for now). Installed node.js which seems to work, but I'm not seeing instructions on how to grab the domainToken. Can someone please point me in the right direction to extract the domainToken?


Download RPCsupportFilesInstructions.txt attached to post #808. The instructions are near the end.


----------



## reneg

dlfl said:


> Download RPCsupportFilesInstructions.txt attached to post #808. The instructions are near the end.


Doh, I was looking for another instruction file to read. I had stopped readying when I got to the python instructions


----------



## dlfl

New test distro Ver. 3.97T10 in attached zip. It includes the fixed C# server.
*EDIT: Attachment removed; superseded. See post #828.
Ver. 3.97T10*
* Fixed: * RPC search timeout/cancel did not stop RPC search queries in mind server.
* Enhanced:* Reworked C# mind server.

I did some timings of RPC searches for the show "Hill Street Blues" using all three server types. The two node.js versions had identical times so are not reported separately. Times are in seconds.


Code:


Search Type    C# Server Node.js Server
SeriesId          14              6
ProgramIds        29            14

And for programId for the movie "An Affair to Remember":
                  12              4

A couple of notes that might be helpful:
1. Do not install both the compiled and script (not-compiled) versions of the node.js server. I found the compiled version will throw an error if you try to run it in a folder containing the package.json file from the script version package. (Hard to imagine why any one would do this but ....)

2. If the server locks up (which should not happen ) you can clear it by going to the Mind RPC settings screen and toggling the "Use NodeJS server" checkbox, which causes MG3 to kill whatever server it was using.

3. If you do encounter a problem running a server, please do me a favor and copy the current contents of the server window and paste them in a post or attachment. ( Click upper left corner to get menu. Select Edit then Mark. Use mouse to select text. Select Copy in menu.) Or I assume you could do a screen shot of that window (click on window, hit Alt-PrtSrn).

And be sure to read RPCsupportFilesInstructions.txt attached to post #808, which also includes download links to the compiled versions of the Node.js server and the rpcSearch131 python file, neither of which have changed for the attached MG3 test distro.


----------



## szwjunk

Just confirming: This works for me with both the C# and the compiled node.js server. Bravo! I will likely stay with the latter, since it's materially faster.

Thanks for all of your efforts and hard work. If you change your mind about a donation to the cause, please let us know.


----------



## reneg

Trying MG397T10 version with the c# server. I'm getting stuck on the following








The error message comes up almost immediately. I'm running Python 2.7 on this system. Is this telling me I need Python 3.x or should I try the rpcsearch131.exe?
EDIT: I tried putting rpcsearch131.exe in the MG397T10 folder and it worked.

Also, I installed MG397T10 on a fresh PC without Python installed (MG complained about needing Python for programIDs). Ignored the warnings and downloaded the rpcsearch131.zip file from Mediafire, unzipped the rpcsearch zip and mg397t10 worked!


----------



## dlfl

reneg said:


> Trying MG397T10 version with the c# server. I'm getting stuck on the following
> View attachment 62951
> 
> The error message comes up almost immediately. I'm running Python 2.7 on this system. Is this telling me I need Python 3.x or should I try the rpcsearch131.exe?
> EDIT: I tried putting rpcsearch1331.exe in the MG397T10 folder and it worked.
> 
> Also, I installed MG397T10 on a fresh PC without Python installed (MG complained about needing Python for programIDs). Ignored the warnings and downloaded the rpcsearch131.zip file from Mediafire, unzipped the rpcsearch zip and mg397t10 worked!


MG3 now does require Python 3 and also requires Python to have the Requests package installed. Instructions are given in the .txt file attached to post #808. Being able to use the RpcSearch131.exe file instead is how it's supposed to work. Python 2 is deprecated and becoming obsolete so I thought I better upgrade MG3.


----------



## Sparky1234

dlfl said:


> MG3 now does require Python 3 and also requires Python to have the Requests package installed. Instructions are given in the .txt file attached to post #808. Being able to use the RpcSearch131.exe file instead is how it's supposed to work. Python 2 is deprecated and becoming obsolete so I thought I better upgrade MG3.


Do I need to install Python 3 or will RpcSeasch131.exe suffice?

I only have RpcSearch131 installed and the only way I can connect is to test the server and leave the CMD window/server open with MG3.

((("Test the server by opening a Windows command window and changing directory to the nodeServer subfolder. Then enter "node main.js". You should see a message "Server running on port 3000". Now in a browser go to http://localhost:3000/url . You should see:

["Tony","Lisa","Michael","Ginger","Food"]")))


----------



## dlfl

Sparky1234 said:


> Do I need to install Python 3 or will RpcSeasch131.exe suffice?
> 
> I only have RpcSearch131 installed and the only way I can connect is to test the server and leave the CMD window/server open with MG3.
> 
> ((("Test the server by opening a Windows command window and changing directory to the nodeServer subfolder. Then enter "node main.js". You should see a message "Server running on port 3000". Now in a browser go to http://localhost:3000/url . You should see:
> 
> ["Tony","Lisa","Michael","Ginger","Food"]")))


No need for python 3 if you put rpcSearch131.exe in the folder wth the MG3 executable. That method of testing the server has nothing to do with the python stuff. It applies only to the script-type NodeJS server, not the distributed C# server or the compiled NodeJS server. Be sure to read the .txt file attached to post #808. It should help with these type questions.


----------



## Sparky1234

dlfl said:


> No need for python 3 if you put rpcSearch131.exe in the folder wth the MG3 executable. That method of testing the server has nothing to do with the python stuff. It applies only to the script-type NodeJS server, not the distributed C# server or the compiled NodeJS server. Be sure to read the .txt file attached to post #808. It should help with these type questions.


It's working great now! Thanks!


----------



## dlfl

*EDIT:* Attachments removed. Superseded by 4.01 release. See first post for download.
MG3 (or should it be MG4?) has had a major upgrade: * It can do RPC searches without needing any additional files or installations!* And the search times are very close to those obtained with the NodeJS mind server. The separate C# server is no longer needed or distributed.

Install the Ver. 4.01T1 test distro from the attached zip. It still has the option of using the compiled or script NodeJS server versions if you check "Use NodeJS Server" in the Mind RPC settings. The attached .txt file provides updated instructions for the python and NodeJS support files needed in that case. The download links for those files, which have not changed, are provided in post #808. It also still provides instructions for getting the Domain Token cookie that is required for any RPC searches regardless of method. It's hard to see much incentive for using the NodeJS version now, but it is provided as an option and can be a workaround if you have trouble with the integrated version.

This was a major porting job from the Python code into C# and, although I've spent hours testing it, a few bugs would not be surprising. If you get an exception pop-up message please post the text or a screen shot (but don't include the long list of assemblies used). And please give details of what actions led to the crash.


----------



## dlfl

Be advised that when your domanToken cookie is invalid MG4 Ver. 4.01T1 doesn't give a good failure message for RPC searches, just a generic search failed --- this is when using the default integral code, not the NodeJS server. I've fixed this but will hold off doing another distribution for a while.

*TL;DR :* If RPC searches fail when using the default built-in code, be sure to re-check your domainToken cookie.


----------



## dlfl

*Version 4.01 has been released.* See first post to download attached distribution zip, or instructions for getting the domainToken cookie needed for RPC searches.

*This release requires no additional files or installations to perform RPC searches. * The option of using nodeJs and python programs for this is preserved (see the Mind RPC settings) and instructions for the various configurations needed for this option are included in the attached RPCsupportFilesInstructions.txt file.


----------



## leswar

Congratulations and a big thanks. I just happen to come here tonight, thought I might have a lot of reading to do ( haven't been to the site in some time - lo and behold a completed 4.01 ) Wow. It works great. And just last night I was using t


dlfl said:


> *Version 4.01 has been released.* See first post to download attached distribution zip, or instructions for getting the domainToken cookie needed for RPC searches.
> 
> *This release requires no additional files or installations to perform RPC searches. * The option of using nodeJs and python programs for this is preserved (see the Mind RPC settings) and instructions for the various configurations needed for this option are included in the attached RPCsupportFilesInstructions.txt file.


Congratulations and a big thanks. I just happen to come here tonight, thought I might have a lot of reading to do ( haven't been to the site in some time - lo and behold a completed 4.01 ) Wow. It works great. And just last night I was using the labor intensive kmttg work around for all my Sunday shows, lol. if I had waited a day haha

Seriously though - thank you again for what must have been such hard work for this needed program . I mean to restore it to full functionally - it is so great you are the king!


----------



## dlfl

Just a heads up warning:
theTVDB.com has warned they will soon require Version 4 of their API. The next MG3 version will use API V4 and unfortunately I've found that this requires using .NET 4.7.2 framework because V4 requires SSL/TLS ver. 1.2 and .NET 4.0 doesn't support that.

TL;DR For the next version of MG3 your system will have to have .NET 4.7.2 installed. Should not be a major issue and I **think** it's already present on most Windows PC's.


----------



## leswar

I'm getting some EPs with a dot ( i.e. EP*.*372072580-0451739113) What does that mean? Should one remove the dots?


----------



## dlfl

leswar said:


> I'm getting some EPs with a dot ( i.e. EP*.*372072580-0451739113) What does that mean? Should one remove the dots?


The dots are new to me.

Please give example of show/episode that does this.

What software are you using these with?
If you pull to TiVo does the one with the dot work correctly? If not try replacing the dot with a zero ('0').

AFAIK the number before the dash needs to be 10 digits with zero padding at front if necessary. Your result suggests the zero-padding may have a bug. I will look into this but please provide the example case to help me do this.


----------



## reneg

dlfl said:


> Just a heads up warning:
> theTVDB.com has warned they will soon require Version 4 of their API. The next MG3 version will use API V4 and unfortunately I've found that this requires using .NET 4.7.2 framework because V4 requires SSL/TLS ver. 1.2 and .NET 4.0 doesn't support that.
> 
> TL;DR For the next version of MG3 your system will have to have .NET 4.7.2 installed. Should not be a major issue and I **think** it's already present on most Windows PC's.


I've got so many versions of .NET on my PC now, I'm sure another one is not going to be a problem. Thanks again for continuing to support this program.


----------



## leswar

dlfl said:


> The dots are new to me.
> 
> Please give example of show/episode that does this.
> 
> What software are you using these with?
> If you pull to TiVo does the one with the dot work correctly? If not try replacing the dot with a zero ('0').
> 
> AFAIK the number before the dash needs to be 10 digits with zero padding at front if necessary. Your result suggests the zero-padding may have a bug. I will look into this but please provide the example case to help me do this.


Seal Team
Season 5 Episode 9
2021-11-28
SH.372072580 (I just noticed the dot here too)
EP.372072580-0451739113

using Windows 7

I thought maybe it was something to d0 with this episode was only on CBS' streaming service.
Episode 10 (Season 5) has it too, as well as other shows but am not recalling which if any.
I haven't loaded any to my tivos yet as I am not that far along in my viewing.


----------



## dlfl

leswar said:


> I'm getting some EPs with a dot ( i.e. EP*.*372072580-0451739113) What does that mean? Should one remove the dots?


Thank you. This was a bug introduced with the built-in RPC server and has been *fixed in new Release 4.02 *-- see first post for download.
Note this bug didn't exist if using the NodeJS server configuration.

This release also defaults to using theTVDB API Version 4 for TVDB series searches. Search times may be slower, especially when you first select a specific episode of a series. You can force it to revert to V3 using CL option *-tvdbV3 *

As warned previously, theTVDB API4 requires .NET Framework 4.7.2 installed on your PC. I think this happens automatically on most PC's but in case you need help:

To determine what .NET versions are installed: Determine which .NET Framework versions are installed - .NET Framework | Microsoft Docs

To manually install 4.7.2: Microsoft .NET Framework 4.7.2 offline installer for Windows


----------



## leswar

dlfl said:


> Thank you. This was a bug introduced with the built-in RPC server and has been *fixed in new Release 4.02 *-- see first post for download.
> Note this bug didn't exist if using the NodeJS server configuration.
> 
> This release also defaults to using theTVDB API Version 4 for TVDB series searches. Search times may be slower, especially when you first select a specific episode of a series. You can force it to revert to V3 using CL option *-tvdbV3 *
> 
> As warned previously, theTVDB API4 requires .NET Framework 4.7.2 installed on your PC. I think this happens automatically on most PC's but in case you need help:
> 
> To determine what .NET versions are installed: Determine which .NET Framework versions are installed - .NET Framework | Microsoft Docs
> 
> To manually install 4.7.2: Microsoft .NET Framework 4.7.2 offline installer for Windows


Thank you for the links

Is Microsoft .NET Framework 4.8 okay? I have that installed currently.


----------



## dlfl

leswar said:


> Thank you for the links
> 
> Is Microsoft .NET Framework 4.8 okay? I have that installed currently.


I would assume 4.8 is OK. I would just try it. Can't hurt. AFAIK this is only important for theTVDB searches so be sure to select that source when you try it.

Actually I haven't checked .NET versions on my PC. It may be using 4.8.


----------



## Sparky1234

Ver 4.02:

Getting an error accessing distroSeriesIds.txt. Selecting continue open program but I can't save TV or Movie info.


----------



## dlfl

Sparky1234 said:


> Ver 4.02:
> 
> Getting an error accessing distroSeriesIds.txt. Selecting continue open program but I can't save TV or Movie info.


Please provide screen shot or text of the error message. Don't include all the "assembly" listings though.

The ver. 4.02 distro zip doesn't include a distroSeriesIds.txt file and this should not cause any error. Are you inserting a file of that name in the runtime folder?


----------



## Sparky1234

dlfl said:


> Please provide screen shot or text of the error message. Don't include all the "assembly" listings though.
> 
> The ver. 4.02 distro zip doesn't include a distroSeriesIds.txt file and this should not cause any error. Are you inserting a file of that name in the runtime folder?


I downloaded distroSeriesIds.txt and from earlier post in this thread and added it.

Here is a screen shot:

Strange issue.


----------



## dlfl

Sparky1234 said:


> I downloaded distroSeriesIds.txt and from earlier post in this thread and added it.
> 
> Here is a screen shot:
> 
> Strange issue.


Where did you put the file? distroSeriesIds.txt should only be put in the runtime folder, not the appData folder.
The problem is access denied but the file path in the screen shot is truncated so I can't tell which folder it was looking at.

MG3 reads distroSeriesIds.txt file once at startup then deletes it. The exception looks like it came at the delete step so maybe the file permission of the file you inserted didn't allow deletion? Normally this file is part of a zipped distro and is placed along with other distro files in the runtime folder and would not be marked Read Only, i.e., would have delete (modify/write) permissions.

I've attached a recent version of distroSeriesIds.txt if that will help. I haven't been including it in the distros because no one has been updating it. But I will include it from now on because it is better than nothing for new installations that don't have a local knownSeriesIds.txt in their appdata folder. @elprice7345 was providing updates with additional entries but he hasn't done that recently.


----------



## Sparky1234

dlfl said:


> Where did you put the file? distroSeriesIds.txt should only be put in the runtime folder, not the appData folder.
> The problem is access denied but the file path in the screen shot is truncated so I can't tell which folder it was looking at.
> 
> MG3 reads distroSeriesIds.txt file once at startup then deletes it. The exception looks like it came at the delete step so maybe the file permission of the file you inserted didn't allow deletion? Normally this file is part of a zipped distro and is placed along with other distro files in the runtime folder and would not be marked Read Only, i.e., would have delete (modify/write) permissions.
> 
> I've attached a recent version of distroSeriesIds.txt if that will help. I haven't been including it in the distros because no one has been updating it. But I will include it from now on because it is better than nothing for new installations that don't have a local knownSeriesIds.txt in their appdata folder. @elprice7345 was providing updates with additional entries but he hasn't done that recently.


Rebooted computer then distroSeriesIds.txt installed correctly. MG 4.02 is working now. Thanks for all your work on this program!


----------



## reneg

I'm also seeing crashes on v4.02. My crash happens specifically on S11E10 of Curb Your Enthusiasm, other episodes of the series work fine, for some reason, just this single episode causes an issue. I ran v4.01 and it worked fine.



Code:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at MetaDataSearch.theTVDBSearch.GetEpisodeOverview(String epId)
   at TVSearchForm.TVSearchForm.GetEpisodeOverview(episode& ep)
   at TVSearchForm.TVSearchForm.ShowSelectedEpisode(enumProcessMode mode)
   at TVSearchForm.TVSearchForm.treeShow_DoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


----------



## dlfl

reneg said:


> I'm also seeing crashes on v4.02. My crash happens specifically on S11E10 of Curb Your Enthusiasm, other episodes of the series work fine, for some reason, just this single episode causes an issue. I ran v4.01 and it worked fine.
> 
> 
> 
> Code:
> 
> 
> See the end of this message for details on invoking
> just-in-time (JIT) debugging instead of this dialog box.
> 
> ************** Exception Text **************
> System.NullReferenceException: Object reference not set to an instance of an object.
> at MetaDataSearch.theTVDBSearch.GetEpisodeOverview(String epId)
> at TVSearchForm.TVSearchForm.GetEpisodeOverview(episode& ep)
> at TVSearchForm.TVSearchForm.ShowSelectedEpisode(enumProcessMode mode)
> at TVSearchForm.TVSearchForm.treeShow_DoubleClick(Object sender, EventArgs e)
> at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
> at System.Windows.Forms.TreeView.WndProc(Message& m)
> at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
> at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
> at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Hmm, not getting this error. I looks like the overview item was missing for that episode of CYE. Maybe someone filled it in later. Try again.

Even if that was the cause it reveals a need to trap errors like missing meta items and handle gracefully. Will do some work on that for the next release.


----------



## reneg

dlfl said:


> Hmm, not getting this error. I looks like the overview item was missing for that episode of CYE. Maybe someone filled it in later. Try again.
> 
> Even if that was the cause it reveals a need to trap errors like missing meta items and handle gracefully. Will do some work on that for the next release.


Not crashing today for me either.


----------



## dlfl

reneg said:


> Not crashing today for me either.


S4E10 of Yellowstone (the finale coming up next Sunday -- aren't we all watching?) currently is missing the overview (synopsis, description, whatever) and will give that error. You can get the episode metadata (but still missing the overview) without crashing if you use TMDb as the search source. I've fixed the code for the next release. Will wait a few days to see what other bugs pop up with the new TVDB V4 API source.


----------



## reneg

dlfl said:


> S4E10 of Yellowstone (the finale coming up next Sunday -- aren't we all watching?) currently is missing the overview (synopsis, description, whatever) and will give that error. You can get the episode metadata (but still missing the overview) without crashing if you use TMDb as the search source. I've fixed the code for the next release. Will wait a few days to see what other bugs pop up with the new TVDB V4 API source.


I see the same error on Yellowstone S04E10 as I saw on Curb Your Enthusiasm S11E10. And yes, I'm looking forward to the Yellowstone finale too.


----------



## Soapm

Edited: No longer valid...

I didn't see we got mind server working but I'm having two points of trouble...

1. I use Firefox, any instructions on how to get the cookie data with Firefox?

2. I get the below error:

H:\Users\Chuck\Documents\MetaGenerator\nodeServer>node main.js
'node' is not recognized as an internal or external command,
operable program or batch file.

What I supposed to do something first to associate the file or so windows knows where it is?

I should also note that it does work because I get a dos window when I do a search but it fails because I don't have a good token.


----------



## Soapm

I found the first part of my question, in case anyone is interested, in Firfox hit SHFT + F9 while on the page to go into developer mode, and you will see the token there Storage Inspector - Firefox Developer Tools | MDN

However, I'm still failing to pull a series id. This is what was in the dos window when I queried MASH; The Error says "RPC Returned Nothing"

Server running on port 3000
QUERY = {"domainToken":"GReX4koRic_FGB3kMOUTKX16I3uSlJ6Af0PDtsPhZY0okV3hoMtXOk2ddtbFTbctDcYjmR1Z.h9xG3clTsYnT1mQ8ShK2HSx2B4oO3NEbRAuSOixfIX2SLgTmUJWgBLrKZy1kVGPDksRSy4T71K_89PleRI8rNZEu0KIYOVkh4U0P2RVSGD.8uAwGixrEVKgtWncyheNxf8-","tsn":"tsn:746000190317XXX"}
DOMAINTOKEN = GReX4koRic_FGB3kMOUTKX16I3uSlJ6Af0PDtsPhZY0okV3hoMtXOk2ddtbFTbctDcYjmR1Z.h9xG3clTsYnT1mQ8ShK2HSx2B4oO3NEbRAuSOixfIX2SLgTmUJWgBLrKZy1kVGPDksRSy4T71K_89PleRI8rNZEu0KIYOVkh4U0P2RVSGD.8uAwGixrEVKgtWncyheNxf8-
TSN = tsn:746000190317XXX
QUERY =
{"title":"m.a.s.h","orderBy":"strippedTitle","includeBroadcast":"true","includeFree":"true","includePaid":"false","includeVod":"false","levelOfDetail":"medium","count":"50","mergeOverridingCollections":"true","filterUnavailable":"false","collectionType":"series","type":"collectionSearch"}
=======================

connected
Request =
MRPC/2 253 321
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: collectionSearch
BodyId: tsn:746000190317XXX
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"title":"m.a.s.h","orderBy":"strippedTitle","includeBroadcast":"true","includeFree":"true","includePaid":"false","includeVod":"false","levelOfDetail":"medium","count":"50","mergeOverridingCollections":"true","filterUnavailable":"false","collectionType":"series","type":"collectionSearch","bodyId":"tsn:746000190317XXX"}

===================

RESPONSE LENGTH = 54
RESPONSE: {"isBottom":true,"isTop":true,"type":"collectionList"}
QUERY =
{"title":"m.a.s.h","namespace":"trioserver","count":"25","bodyId":"tsn:746000190317XXX","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}
=======================

Tivo mind websocket closed 1005
connected
Request =
MRPC/2 248 175
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: offerSearch
BodyId: tsn:746000190317XXX
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"title":"m.a.s.h","namespace":"trioserver","count":"25","bodyId":"tsn:746000190317XXX","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}

===================

RESPONSE LENGTH = 49
RESPONSE: {"isBottom":true,"isTop":true,"type":"offerList"}
QUERY =
{"title":"m.a.s.h","count":"25","bodyId":"tsn:746000190317XXX","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}
=======================

Tivo mind websocket closed 1005
connected
Request =
MRPC/2 248 150
Type: request
RpcId: 1
SchemaVersion: 21
Content-Type: application/json
RequestType: offerSearch
BodyId: tsn:746000190317XXX
ResponseCount: single
X-ApplicationName: Quicksilver
X-ApplicationVersion: 1.2
X-ApplicationSessionId: 2605835

{"title":"m.a.s.h","count":"25","bodyId":"tsn:746000190317XXX","orderBy":["seasonNumber","episodeNum"],"levelOfDetail":"medium","type":"offerSearch"}

===================

RESPONSE LENGTH = 49
RESPONSE: {"isBottom":true,"isTop":true,"type":"offerList"}
Tivo mind websocket closed 1005


----------



## dlfl

@Soapm
It looks like you're trying to use the NodeJS RPC server instead of the built-in one. This can be done but AFAIK there is no great reward for the complications involved. So I would recommend unchecking "Use NodeJS Server" in the Mind RPC settings panel.

If you still want to use the NodeJS server, the gory details for setting that up are given in RPCsupportFilesInstructions.txt which is included in the distribution zip.

Thanks for finding the way to get the domain token in Firefox. I will include that in new versions of DomainToken.txt. I looked for a way to find it in the Chrome browser but could not.


----------



## Sparky1234

Soapm said:


> I found the first part of my question, in case anyone is interested, in Firfox hit SHFT + F9 while on the page to go into developer mode, and you will see the token there Storage Inspector - Firefox Developer Tools | MDN


Thanks for the Firfox hit SHFT + F9 gouge!!!

How do you get to developer mode? Details please. (Firefox hit SHFT + F9 while on the page to go into developer mode)


----------



## Soapm

Sparky1234 said:


> Thanks for the Firfox hit SHFT + F9 gouge!!!
> 
> How do you get to developer mode? Details please. (Firefox hit SHFT + F9 while on the page to go into developer mode)


In the link, go down to the section titled *Opening the Storage Inspector. *That's how mines looks after I hit SHFT + F9. In the name column, there was one named Domain Token. I clicked it and it opened another window to the right where I could highlight the token, right click and the only option was copy.

@dlfl = I was doing all I could to follow a simple, single set of instructions. Obviously I failed and somehow merged what I was doing. Can you give me a skinny on simple? I just want it to work and have no preference on how.

I unchecked the box and still get nothing. I'm lost.


----------



## dlfl

Soapm said:


> In the link, go down to the section titled *Opening the Storage Inspector. *That's how mines looks after I hit SHFT + F9. In the name column, there was one named Domain Token. I clicked it and it opened another window to the right where I could highlight the token, right click and the only option was copy.
> 
> @dlfl = I was doing all I could to follow a simple, single set of instructions. Obviously I failed and somehow merged what I was doing. Can you give me a skinny on simple? I just want it to work and have no preference on how.
> 
> I unchecked the box and still get nothing. I'm lost.


In Mind RPC settings:
Uncheck Use NodeJS Server
Enter a valid Domain Token and TiVo credentials.
Close the form (to save settings)

RPC searches will work as they used to. I wonder if you're getting the right cookie (domain token)? I don't have FireFox installed so can't check that. If not you should see an error message to that effect.


----------



## Soapm

So I have this right, I didn't need to do any of the things in RPCsupportFilesInstructions. I just unzip like before, add the credentials and I'm ready to go? Is that what you're saying?


----------



## dlfl

Soapm said:


> So I have this right, I didn't need to do any of the things in RPCsupportFilesInstructions. I just unzip like before, add the credentials and I'm ready to go? Is that what you're saying?


Yep.


----------



## Soapm

PS... You're right, I get a different site cookie in each browser;

EDGE
qKVxyELSPyZFXT6Z4gPLMaAtmlZ0s5Uw6_.XSGkXthVFvFlmucGwMg.RCica.4Jz8t4Oi0TK.P.V9swzbcVu5MUOQaWR_5FqK9Wrc3fDCoFwCWq.tzc_HZM.0u4Giwx5JRNkHL2J6XKH3W9IehCzMseSi9h2vXrg2_eLnEqJeoY53ywJa.fs0QDY95R0NaIiy2Dpv.bkE.0-

FireFox
GReX4koRic_FGB3kMOUTKX16I3uSlJ6Af0PDtsPhZY0okV3hoMtXOk2ddtbFTbctDcYjmR1Z.h9xG3clTsYnT1mQ8ShK2HSx2B4oO3NEbRAuSOixfIX2SLgTmUJWgBLrKZy1kVGPDksRSy4T71K_89PleRI8rNZEu0KIYOVkh4U0P2RVSGD.8uAwGixrEVKgtWncyheNxf8-

But neither works, I still get the same "Nothing found" message on MASH


----------



## Soapm

Update:

The error is in searching MASH. For kicks and grins I tried Adam-12 and it worked just fine. Thanks for your great work!!!

ALSO: Either token works just fine? Not sure what's up with that???


----------



## leswar

I just used the FF tip; tried using the different token (compared to Edge) and it too worked. Thanks for the tip.


----------



## dlfl

I have no idea how these tokens work. I’ve suspected that two different tokens obtained via Edge at different times were valid simultaneously. They may have different expiration dates though.

I assume the tokens are specific to your TiVo credentials however. i.e., I couldn’t use one of your tokens.


----------



## dlfl

@Soapm
You must have used theTVDB when searching for MASH. It returns "M.A.S.H" as the series title and the seriesID search will fail with that.
If you search using TMDb it returns titile "M*A*S*H" and the seriesID search succeeds with that title. There is a title override entry slot on the RPC Setup screen where you can enter different title versions to try.


----------



## Soapm

Right you are, that worked...

In fact, it worked too well because I get two series id's...

SH0000020792
SH0434924724


----------



## dlfl

Soapm said:


> Right you are, that worked...
> 
> In fact, it worked too well because I get two series id's...
> 
> SH0000020792
> SH0434924724


I got three. That isn't unusual and you just have to deal with it.


----------



## Matty-123456

I've done a clean install and I'm getting a "no tivo file" error message for tv programs. This is followed by "there was an error renaming/moving the output file". Any ideas what I've done wrong?


----------



## dlfl

Matty-123456 said:


> "there was an error renaming/moving the output file


I believe this is triggered by inappropriate Merge Settings. Open Settings (the Gear icon), then click the "Merge" button.
Make sure nothing is set to PREFER_TIVO or TIVO_ONLY. You can also suppress *some* such messages by selecting "None" at the bottom of that window.

The merge process involves selecting metatata from either a pre-existing pyTiVo style text metadata file (found next to the input video file and named video_name.ext.txt) or the metadata found by searching theTVDB or TMDb. It's complaining because the pyTiVo .txt file isn't there. I believe the program as distributed defaults to NOT looking for these files, so I'm guessing you changed merge settings at some point.

Note that if you click the "Outputs" button on the Settings Tab, you can select to never generate Text Metadata Files, which is what you should do if you do not use the pyTiVo style .txt files.


----------



## Matty-123456

dlfl said:


> I believe this is triggered by inappropriate Merge Settings. Open Settings (the Gear icon), then click the "Merge" button.
> Make sure nothing is set to PREFER_TIVO or TIVO_ONLY. You can also suppress *some* such messages by selecting "None" at the bottom of that window.
> 
> The merge process involves selecting metatata from either a pre-existing pyTiVo style text metadata file (found next to the input video file and named video_name.ext.txt) or the metadata found by searching theTVDB or TMDb. It's complaining because the pyTiVo .txt file isn't there. I believe the program as distributed defaults to NOT looking for these files, so I'm guessing you changed merge settings at some point.
> 
> Note that if you click the "Outputs" button on the Settings Tab, you can select to never generate Text Metadata Files, which is what you should do if you do not use the pyTiVo style .txt files.



This worked, thank you!


----------



## Eccles

I'm getting an unhandled exception error when trying to export certain particular episode descriptions. If I click Continue, the program recovers (without exporting that episode, of course). Is this the right place to report bugs like this?


----------



## dlfl

Eccles said:


> I'm getting an unhandled exception error when trying to export certain particular episode descriptions. If I click Continue, the program recovers (without exporting that episode, of course). Is this the right place to report bugs like this?


This is the place! Suspect the database isn’t providing an episode description. Please provide an example of series and episode that triggers this and say which database you’re using.


----------



## Eccles

dlfl said:


> This is the place! Suspect the database isn’t providing an episode description. Please provide an example of series and episode that triggers this and say which database you’re using.












S1E9 and E10 bork every time. I have experienced the same issue once before, but put it down to user error so I can't provide details.


----------



## reneg

Eccles said:


> View attachment 69588
> 
> 
> S1E9 and E10 bork every time. I have experienced the same issue once before, but put it down to user error so I can't provide details.


A workaround is to use v4.01 of MetaGenerator. I've been running across this type of issue often enough to just default to running v4.01.


----------



## dlfl

Eccles said:


> View attachment 69588
> 
> 
> S1E9 and E10 bork every time. I have experienced the same issue once before, but put it down to user error so I can't provide details.


The issue is missing data items returned by API Ver. 4 of theTVDB.com database. MG3 Ver. 4.03 has been released (see first post), which catches these errors and provides suitable messages rather than crashing. The reason Ver. 4.01 didn't have the errors was it used previous API ver. 3. However that API version is deprecated and will be shut down soon, so MG3 will be using Ver. 4 Another work around is just to use tmdB.com as the source database.

Note that zip file attachments are no longer allowed by the new forum software so Ver. 4.03 is distributed via a link to my one-drive public folder. Tested OK for me but if you have problems let me know.


----------



## Eccles

dlfl said:


> Note that zip file attachments are no longer allowed by the new forum software so Ver. 4.03 is distributed via a link to my one-drive public folder. Tested OK for me but if you have problems let me know.


----------



## dlfl

I refreshed the OneDrive link in the first post. Please try again.

If it still doesn't work, download the attached text file ('alink.txt") and copy/paste the OneDrive link from that file into your browser's address. Does that work?

In either case be sure to open properties of the downloaded .zip file and unlock (unblock?) it before extracting the files.


----------



## reneg

Link in first post worked for me.


----------



## Eccles

reneg said:


> Link in first post worked for me.


Me too, and the problem is resolved. Thanks!


----------



## elprice7345

Checking in after a few months away!

@dlfl Great work on getting the RPC functionality working again!

I’ve tested and everything is working great!

A couple of documentation improvement suggestions:

The Change Log included with MG3 download only goes through 3.96
The “DomainToken.txt” file should be updated to include the Firefox instructions that @Soapm provided
As mentioned earlier, I’m no longer creating metadata files for shows I download from my TiVos. I use JRiver Media Center on a HTPC to watch my shows. I also primarily use TMDB as my database for my TV and Movie content.

That being said, I will be happy to test and assist anyone who needs help with MG3 and programIds.


----------



## dlfl

Instructions for getting the Domain Token (cookie) using the Fire Fox browser have been added to the DomainToken.txt file attached to post #1 here. Thanks to @Soapm and @elprice7345 for these instructions.


----------



## dlfl

elprice7345 said:


> ..............................
> The Change Log included with MG3 download only goes through 3.96
> ............................


I can't verify this. I downloaded Ver. 4.03 from OneDrive as a test and the log goes up to 4.03.

Is anyone else seeing this?


----------



## elprice7345

dlfl said:


> I can't verify this. I downloaded Ver. 4.03 from OneDrive as a test and the log goes up to 4.03.
> 
> Is anyone else seeing this?


My bad @dlfl ... after checking again, the Change Log is correct. I must have had a file copy issue.


----------



## Atomic Taco

Yesterday I started seeing this:










This morning the exception was gone, but I'm saw Search error: Not Found instead of the list of shows. I don't see any major changes to theTVDB API docs to indicate something changed there
I closed the application, deleted the C:\Users\me\AppData\Roaming\Metagenerator folder and relaunched the application but still saw the same error.
Now the exception is back


----------



## dlfl

@Atomic Taco 
Not seeing these issues. However, I notice the programId search finds no results for "Deadliest Catch", but no error message, just no PID's, although it does find a seriesID.


----------



## Atomic Taco

dlfl said:


> @Atomic TacoNot seeing these issues. However, I notice the programId search finds no results for "Deadliest Catch", but no error message, just no PID's, although it does find a seriesID.


What endpoint does the search hit? I want to try it from that machine. I know Win 7 is long abandoned and I should update that machine; maybe root certs could be to blame.


----------



## elprice7345

@Atomic Taco Make sure your using the correct seriesId, SH0045266952. I don't get any errors, but I found 2 seriesIds that match "Deadliest Catch". The "bad" one is SH0441900122.

Using the correct seriesId, I was able to find almost all of the programIds.

@dlfl The TiVo domain token I used recently didn't work today. I logged into TiVo.com, copied another token and the programId search worked.

Is this expected behavior? Do we need a new TiVo domain token every time we search for programIds?


----------



## Atomic Taco

elprice7345 said:


> @Atomic Taco Make sure your using the correct seriesId, SH0045266952. I don't get any errors, but I found 2 seriesIds that match "Deadliest Catch". The "bad" one is SH0441900122.
> 
> Using the correct seriesId, I was able to find almost all of the programIds.


That's not possible. The exception is thrown immediately upon clicking the search button. It's not possible to select a TV series (because none are ever returned) much less select a series and enter the seriesId.


----------



## dlfl

elprice7345 said:


> @Atomic Taco Make sure your using the correct seriesId, SH0045266952. I don't get any errors, but I found 2 seriesIds that match "Deadliest Catch". The "bad" one is SH0441900122.
> 
> Using the correct seriesId, I was able to find almost all of the programIds.
> 
> @dlfl The TiVo domain token I used recently didn't work today. I logged into TiVo.com, copied another token and the programId search worked.
> 
> Is this expected behavior? Do we need a new TiVo domain token every time we search for programIds?


Best I know is the tokens are good for a week or two. Typical behavior would not be requiring a new one every time you search. Maybe just random bad luck (i.e., it was about to expire anyway).

On my machine the RPC seriesID search for “Deadlest Catch” returns just one ID, presumably the bad one. Haven’t tried “deep search” though. I think these search results are dependent on recording/tuning history of your TiVo account. It’s a black box to some extent — I’ve never understood it fully.


----------



## dlfl

@Atomic Taco , @elprice7345 I think you two are talking about two different kinds of search. I believe @Atomic Taco is concerned with the original series search using theTVDB.com failing, at least specifically for “Deadliest Catch”. I will provide the endpoint for that search the next time I’m logged onto my development PC. IIRC you also have to use an authentication endpoint first, which requires a key that has been granted by theTVDB.com.


----------



## dlfl

@Atomic Taco 
Here is a "Swagger" page that documents, and allows testing of, the TVDB API used by MG3:




__





Swagger UI







thetvdb.github.io




Instructions are at the top but I see you have to have an API key to do anything. MG3 obviously has such a key but unfortunately it must remain private. I'm not sure how hard it would be to get a key for personal/testing use but you could check into that. The series search that fails for you uses the /series endpoint.

If these searches depend on some certificate on the local machine, I am unaware of that. I would be surprised if MG3 did not work on a Wn7 machine, but can't test that.

Do all your theTVDB searches fail? Do searches using tmdB succeed?


----------



## elprice7345

dlfl said:


> Best I know is the tokens are good for a week or two. Typical behavior would not be requiring a new one every time you search. Maybe just random bad luck (i.e., it was about to expire anyway).


I wasn't aware that the token is only temporary ... not a big deal. It has been at least a couple of weeks since I last tried a programId search, so that makes sense.


----------



## elprice7345

Atomic Taco said:


> That's not possible. The exception is thrown immediately upon clicking the search button. It's not possible to select a TV series (because none are ever returned) much less select a series and enter the seriesId.


@Atomic Taco Sorry about that! I didn't read your post closely enough!

MG3 finds 2 seriesIds for _Deadliest Catch _(as noted above). I get results using either TVDB or TMDB.

Once I get series results, I'm able to get programIds without any problem.



dlfl said:


> Do all your theTVDB searches fail? Do searches using tmdB succeed?


I agree with @dlfl , let's see if your issue is something peculiar to this series or a broader issue.


----------



## Atomic Taco

I want to clear the air and explain a little bit more about what's going on here...

First is a domain token. This is generated by TiVo Online by each individual user. This allows MG3 to query TiVo Online as though it were that user logged in to the browser and retrieve series and episode IDs.

Then there is an API key for TheTVDB. These are issued per project and like @dlfl mentions they are secret to the project. It should only be visible by those compiling the source of MG3.

As has been diagnosed above my problem was not with the TiVo domain token but the search that is performed against TheTVDB.

The link above to the docs tells me that MG3 hitting the v4 API and not the v3 API. I've tested calls to the API server both via a browser and command-line cURL and don't see any certificate issues. My theory was that the root certificates on my machine had expired and were not updated, which means that my machine would not be able to validate a certificate presented by any website. A client does not download the certificate (per se); it's the trust chain against the root CAs that was my thought. But that's not it.

The error isn't specific to any one show; it happens on all searches. Searches against TMDb and TheMovieDB work fine.

I downloaded MG3 4.03 on to a Win10 machine and series searches against TheTVDB work as expected. So everything works, there's just something environment specific.

Looking deeper in to the stack trace it seems like the data coming back from TheTVDB is not in an expected format. Could it be an expired TVDB token causing the API to return an authorization failed message instead of the expected search results?

Besides deleting the Metagenerator folder in AppData is there anything I need to do to have the app run like a clean "install"?


----------



## dlfl

@Atomic Taco 
Deleting everything in the appdata folder is all that is required.

Just to clarify my understanding: The problem is theTVDB searches fail on a Win7 PC but are OK on a Win10 PC. Correct?

One possible candidate:

A commit message in the MG3 repo dated 17 Dec 2021 is:
"TVDB V4 needs .net 4.7.2 for TLS 1.2"
MG3 is targeted to .NET Framework 4.7.2.for this reason..

There is a CL option *-tvdbv3* that forces the use of theTVDB API V3. This API version is deprecated but I tried this and searches seemed to work. I'm not sure how long, or how well, theTVDB will continue to suppport V3 however.

Out of curiosity I googled "tls 1.2 windows 7" and found what appears to be a very helpful link:
Enabling TLS 1.2 on Windows 7 | Runbox Help
Note it says TLS 1.2 is not enabled by default in Win7, but tells how to enable it.
Hope that helps!


----------



## Atomic Taco

dlfl said:


> Just to clarify my understanding: The problem is theTVDB searches fail on a Win7 PC but are OK on a Win10 PC. Correct?


To quote David Puddy: "yeah, that's right"


dlfl said:


> One possible candidate:
> 
> A commit message in the MG3 repo dated 17 Dec 2021 is:
> "TVDB V4 needs .net 4.7.2 for TLS 1.2"
> MG3 is targeted to .NET Framework 4.7.2.for this reason..


What an excellent find! This seems to be the issue; after following the instructions in the linked doc for adding the reg keys searching works again on the Win7 machine. Thank you!


----------



## leswar

I found an easier way to refresh my domain token. If you are also using kmttg just go into its config.ini file using Windows wordpad(write) and scroll down until you come across its domain token - highlight and copy then paste same into MetaGenerator. Its also very easy to refresh the domain token using kmttg under file>cofigure>Tivos>chose "Refresh Token". Beats the pain of logging in to tivo online nonsense.


----------



## elprice7345

@leswar - Nice tip!

One note: to use the tip from @leswar, you have to upgrade to the new version (2.5-l) of kmttg available here: New program for 1 step TTG downloads, decryption...


----------



## Soapm

leswar said:


> I found an easier way to refresh my domain token. If you are also using kmttg just go into its config.ini file using Windows wordpad(write) and scroll down until you come across its domain token - highlight and copy then paste same into MetaGenerator. Its also very easy to refresh the domain token using kmttg under file>cofigure>Tivos>chose "Refresh Token". Beats the pain of logging in to tivo online nonsense.


Thanks, that is an awesome tip. I've been dreading each time I have to change the token, but no more. Now it'd be nice if Meta could look in the KMTTG config file. But I won't be that lazy... ROFL


----------



## dlfl

Soapm said:


> Thanks, that is an awesome tip. I've been dreading each time I have to change the token, but no more. Now it'd be nice if Meta could look in the KMTTG config file. But I won't be that lazy... ROFL


The ideal solution would be to port the Java code in KMTTG that gets the token to C# code so as to be integrated into MG3. However that is not a simple task and not even guaranteed to be possible.

Having MG3 get the token from the KMTTG config file is easy but MG3 has to know where the .ini file is. Is it always in a predetermined location? Or would MG3 users have to browse to it in order to set it? I don’t use KMTTG so don’t know this info. If someone could attach an example of a .ini file, that would also be helpful.


----------



## elprice7345

dlfl said:


> Is it always in a predetermined location? Or would MG3 users have to browse to it in order to set it? I don’t use KMTTG so don’t know this info. If someone could attach an example of a .ini file, that would also be helpful.


The file is always in the kmttg root directory, but users can install kmttg wherever they want, so the user would have to supply the directory.

I've attached a copy of my config.ini with (hopefully) all the sensitive info deleted.


----------



## dlfl

elprice7345 said:


> The file is always in the kmttg root directory, but users can install kmttg wherever they want, so the user would have to supply the directory.
> 
> I've attached a copy of my config.ini with (hopefully) all the sensitive info deleted.


Thanks, but the attachment isn’t showing up in my browser. (??)


----------



## leswar

dlfl -- I sent one in private message.


----------



## dlfl

Test version 4.04T1 can get RPC domain token from KMTTG installation (config.ini).

One Drive download link: MG404T1.zip *EDIT: This link is dead now. Replaced by later
version linked in post #907.*

There is a button for this just under the entry box for the Domain Token on the Mind RPC configuration screen. 

Initially looks for config.ini in the default KMTTG install folder: c:\kmttg
If not found there offers to let you browse for it.
Also calculates expiration date based on value in KMTTG config file and pops up a message about that when it finds the token.

It's a test version ......... Please provide details for any errors or problems!

OK to co-exist with Ver. 4.03 (in separated install folders). Config files are the same and will be shared with both versions. Best to run only one at a time.


----------



## elprice7345

Sorry @dlfl! Not sure what happened! 

@leswar sent one. Let me know if you need another.


----------



## elprice7345

Tested version 4.04T1 and it works great!

One nit: For those of us that keep kmttg in a non-standard location, can you have MG3 remember the location of the folder? Otherwise, I would need to browse for the folder every time I need to update my token.


----------



## leswar

That was fast! You the Man.... Working great. I like knowing when the token expires, nice.
Thank you for all your hard work.


----------



## dlfl

leswar said:


> That was fast! You the Man.... Working great. I like knowing when the token expires, nice.
> Thank you for all your hard work.


I’d be interested in how my expiration date compares to the one in the KMTTG UI. Some assumptions and time/date conversion was required because the value in the KMTTG config file is given in milliseconds since 1/1/1970 — I think.


elprice7345 said:


> Tested version 4.04T1 and it works great!
> 
> One nit: For those of us that keep kmttg in a non-standard location, can you have MG3 remember the location of the folder? Otherwise, I would need to browse for the folder every time I need to update my token.


Yep I’ll incorporate that in the next release version after waiting a while to see what other issues may arise with the test version. I rushed this test version out since I don’t run KMTTG and wanted to get feedback before going too far.


----------



## Soapm

elprice7345 said:


> The file is always in the kmttg root directory, but users can install kmttg wherever they want, so the user would have to supply the directory.
> 
> I've attached a copy of my config.ini with (hopefully) all the sensitive info deleted.


I don't mind pointing it to the directory.


----------



## dlfl

Please replace test ver. 4.04T1 with test ver. 4.04T4 from this OneDrive link:








MG404T4.zip


Compressed (zipped) Folder



1drv.ms





Changes relative to 4.04T1 are:
Ver. 4.04T4 (8 July 2022)
Enhanced: Remembers KMTTG folder path
Enhanced: Displays Domain Token expire date, if obtained from KMTTG config file.
Fixed: Domain Token from KMTTG config file could be correupted if it contained an '=' character

Note the fix -- a Domain Token taken from KMTTG will be truncated if it contains an '=' character, if using Ver.. 4.04T1.


----------



## dlfl

TMDb had a bug in their API today, which provided bogus names for series episodes. They say the error has been fixed, but caching could mean it could be 8 hours before correct results are returned. I just tried a series that I know I had not searched for days and it still returned bad results. Bogus name for example might be "season 1" for all episodes in season 1. Or just "season".


----------



## elprice7345

Tested Ver. 4.04T4 (8 July 2022) and it works great!

Thanks @dlfl!


----------



## lart2150

@dlfl hopefully this helps making the domain token code native. There is not really any error handling but a invalid password should throw an exception of some sort.

Consider the code MIT licensed. I do use one external library(Newtonsoft.Json).








GetDomainToken.cs


GitHub Gist: instantly share code, notes, and snippets.




gist.github.com





Below is a compiled version


https://lart2150.com/tivo/tivo-dt-net.zip


----------



## dlfl

Thanks to @lart2150 mg3 can now fetch RPC Domain Token Cookies directly.

Try test ver. 4.04T5 from this OneDrive link:








MG404T5.zip


Compressed (zipped) Folder



1drv.ms





You now have to enter your TiVo user name (email) and password on the Mind RPC setup panel. Messages for invalid user name and password will pop up. If the direct fetch fails it will still try getting it from the KMTTG config file as in the previous test version. Or you can still get it via a browser and enter it manually.

@lart2150 I'm not sure what conditions the MIT license imposes on this project. The program and my support are free to everyone. I was on the verge of trying to port your Java code to C#. I'm sure you saved me hours and hours of work!
I already was using NewtonSoft.JSON in mg3 BTW.


----------



## lart2150

dlfl said:


> @lart2150 I'm not sure what conditions the MIT license imposes on this project. The program and my support are free to everyone. I was on the verge of trying to port your Java code to C#. I'm sure you saved me hours and hours of work!


MIT is very flexible and can be used for almost any project (closed source or most open source projects). KMTTG on the other hand is gpl v2 would require metagenerator to have a gpl v2 compatible license.


----------



## dlfl

@lart2150 
Wonder if you can provide any insight on this behavior in the domain token code:

I've been testing it with various invalid usernames and passwords. One case is I just append an 'X' to the username, e.g., [email protected]

This is caught by some JSON parsing code that I added and is handled. However, when I revert back to the valid username (without the appended 'X') the code throws an exception because the regex match for the SAML Request finds zero matches. Shutting down the program is required to clear this. Otherwise it just repeats the issue each time you try.

It smells like some kind of proxy buffering or similar that doesn't clear the first error in web request land. Any ideas?

BTW I haven't actually run your compiled version. I took the c# code into the MG3 solution (with a few modifications).


----------



## elprice7345

Tested Ver. 4.04T5 and it works great!

Thanks for all your work @dlfl!


----------



## lart2150

dlfl said:


> It smells like some kind of proxy buffering or similar that doesn't clear the first error in web request land. Any ideas?


that does sound like a cache issue. I wonder if something like this would help.


Code:


    HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
    HttpWebRequest.DefaultCachePolicy = policy;


----------



## dlfl

lart2150 said:


> that does sound like a cache issue. I wonder if something like this would help.
> 
> 
> Code:
> 
> 
> HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
> HttpWebRequest.DefaultCachePolicy = policy;


I tried that on both the reqest and post functions but it didn't help. Also tried keepAlive = false, but that made things worse. Its interesting that the problem occurs on the very first webRequest to the loginUrl. The TiVo credentials aren't even used at that point so it suggests it's not actually a problem with them, rather the downstream of a prior attempt with invalid credentials.

And the plot thickens. If you successfully fetch a token with valid credentials and then just try to repeat that, the same error occurs. I wonder if it thinks you're still logged in so doesn't provide the "Sign In" link which I assume the code is looking for. If that's the case there must something about having to break a session, which shutting down the program does. (?). It could be that there is a timeout after which the session state would reset.(?0

*EDIT:*
Think I fixed it. Had to do with the cookieContainer. I put your code in a static class and the CC was created just once at program start, so it was not cleared between calls to get the token. I moved the CC creation to the start of the getDomainTokenCookie function and that seems to have fixed it, (pending more testing). This was an error introduced by my integration into MG3, not a problem with your code.


----------



## lart2150

Have you tried resetting the cookie container?


----------



## dlfl

lart2150 said:


> Have you tried resetting the cookie container?


Yes, that's what it was We cross-posted so I think you missed the edit to my previous post. Thanks!


----------



## dlfl

Ver. 4.04 released. Download link is in first post.
*Ver. 4.04 (20 July 2022)*
* Enhanced: *Can fetch domain token needed for RPC searches directly from Tivo.com or from KMTTG config file.

A help button explaining details of the domain token fetching was added to the Mind RPC setup panel.. Also see domainToken.txt attached to first post and included in the distribution.

Again thanks to @lart2150 for the code that does the domain token direct fetch.


----------



## latenitetech

I'm a big fan and long-time user of Metagenerator. Many thanks to all who developed and maintain this! Also, I apologize if this problem has been asked and answered, but I didn't find it via searches.

Recently I started to get the dredded "Unexpected Problem (C501)" error after transfer of a downloaded video file to my Tivo Bolt running the old UI. I traced it down to an apparent change in the format of the tvRating field in the ".txt" file created by the Metagenerator tool (using 'theTVDB'). It used to be strings like "TV-MA" or "TV-14" but now I'm seeing large numeric values in that field that seem to break Tivo. The simple fix is to either delete that field or edit it to one of the old string values and Tivo is happy again.

Any idea what's going on, and more importantly, is there a fix available other than my having to manually edit the meta file after generation? I have no need for that field, so an option to just not populate it would be fine with me.

Thanks for any help with this!


----------



## dlfl

@latenitetech 
I’ll look into this. Just out of curiosity what happens if you use tmdB instead of theTVDB?


----------



## dlfl

Ver. 4.05 released, download link in first post.
Ver. 4.05 (29 July 2022)
Fixed: Incorrect TV Ratings from theTVDB

Ver. 4 of theTVDB API had a change for TV Rating that wasn't handled in the code.
The TMDb TV Rating is already correctly implemented.

Thanks for your detective work exposing this @latenitetech !


----------



## latenitetech

dlfl said:


> Just out of curiosity what happens if you use tmdB instead of theTVDB?


Good question! It appears the problem only occurs with 'theTVDB'. Using tmDB it returns "normal" rating strings. I typically use 'theTVDB' as it's the default, and for some reason some shows don't seem to be in the tmDB (for example the latest "Streaming Wars" South Park specials). I'll switch to using tmDB as my default for now, and use 'theTVDB' only as needed. But hopefully you'll find something amiss and an easy fix. Thx for looking into this.


----------



## eherberg

latenitetech said:


> I typically use 'theTVDB' as it's the default, and for some reason some shows don't seem to be in the tmDB (for example the latest "Streaming Wars" South Park specials)


On an aside -- they are in TMDB here and here.


----------



## latenitetech

eherberg said:


> On an aside -- they are in TMDB here and here.


I see them from the links you provided, but where do I find them from within the Metagenerator tool? When using 'theTVDB" they show up as S0E45-46, but I don't see them when using the TMDB from within Metagenerator.


----------



## latenitetech

dlfl said:


> Ver. 4.05 released, download link in first post.
> Ver. 4.05 (29 July 2022)
> Fixed: Incorrect TV Ratings from theTVDB
> 
> Ver. 4 of theTVDB API had a change for TV Rating that wasn't handled in the code.
> The TMDb TV Rating is already correctly implemented.
> 
> Thanks for your detective work exposing this @latenitetech !


Hooray!! That was an incredibly quick turnaround. Thank you so much for the quick fix and for providing this amazing tool!


----------



## eherberg

latenitetech said:


> I see them from the links you provided, but where do I find them from within the Metagenerator tool? When using 'theTVDB" they show up as S0E45-46, but I don't see them when using the TMDB from within Metagenerator.


Possibly because TMDB does not consider them part of the series - but rather stand-alone airings.


----------



## leswar

Domain token fetching broken for me in upgrade.

I replaced the 404T1 program (which had been working just fine) with 405.
When I run the fetch domain token this error dialog box appears and the current 

domain token disappears and --Fetching -- now appears in its place even after 

restarting the program. I must then manually paste the current dt over the "-

fetching" dialog.

I tried downgrading to 404 but the above error box still appears.

What is my solution if any?. Thanks...


----------



## dlfl

leswar said:


> Domain token fetching broken for me in upgrade.
> .......................


I'm not seeing this problem. As a test I downloaded the distro zip from the 1drive link in the first post.

The debug message indicates a TLS security error for the connection to TiVo. Are you running Win 7? If so see post #892 as you probably need to enable TLS 1.2.


----------



## dlfl

latenitetech said:


> Good question! It appears the problem only occurs with 'theTVDB'. Using tmDB it returns "normal" rating strings. I typically use 'theTVDB' as it's the default, and for some reason some shows don't seem to be in the tmDB (for example the latest "Streaming Wars" South Park specials). I'll switch to using tmDB as my default for now, and use 'theTVDB' only as needed. But hopefully you'll find something amiss and an easy fix. Thx for looking into this.


If you search "South Park" in MG3 on a MOVIE tab, you get two Streaming Wars hits (which are from TMDb). Looks like these are not considered series.


----------



## latenitetech

dlfl said:


> If you search "South Park" in MG3 on a MOVIE tab, you get two Streaming Wars hits (which are from TMDb). Looks like these are not considered series.


Got it, thanks, make sense. Is there any particular advantage of using one database over the other? I think I have been using 'theTVDB' only because it was my default and seemed to have everything I was looking for, but perhaps TMDB has better or more complete info?


----------



## leswar

dlfl said:


> I'm not seeing this problem. As a test I downloaded the distro zip from the 1drive link in the first post.
> 
> The debug message indicates a TLS security error for the connection to TiVo. Are you running Win 7? If so see post #892 as you probably need to enable TLS 1.2.


Yes to Windows 7 and post 892 fixed it. Running 405 now. All is well. Thank you.


----------



## Soapm

Thanks for the updates.

Anybody having trouble downloading from the onedrive? I get "something went wrong" then it takes me to my personal onedrive.


----------



## dlfl

Soapm said:


> Thanks for the updates.
> 
> Anybody having trouble downloading from the onedrive? I get "something went wrong" then it takes me to my personal onedrive.


I updated the 1Drive link in the first post, although I couldn't find anything wrong with the previous one. Since this accesses my 1Drive, maybe the link can work, but only for me -- i.e.,if I haven't figured out how to share it with others?


----------



## Soapm

dlfl said:


> I updated the 1Drive link in the first post, although I couldn't find anything wrong with the previous one. Since this accesses my 1Drive, maybe the link can work, but only for me -- i.e.,if I haven't figured out how to share it with others?


Still doing the same thing for me, maybe 1drive made a change or something? But it seems I'm the only one having the problem. It's small enough, can you email it to me? soapm777 at yahoo dot com


----------



## dlfl

Soapm said:


> Still doing the same thing for me, maybe 1drive made a change or something? But it seems I'm the only one having the problem. It's small enough, can you email it to me? soapm777 at yahoo dot com


I can email it to you but first let’s check out one possible issue. Are you running Win7? If so you may need to enable TLS 1.2 as described in post #892. (TLS 1.2 is needed to directly fetch domain tokens needed for programId searches anyway.)

Let's see if Google Drive works. Here is the link





Metagenerator405.zip







drive.google.com


----------



## Soapm

Google drive worked fine and no I"m not using Win7. I'm on Win10.

Like I said, I've never had to do this but 1Drive made me log in to receive the file but then it went to my drive. The funny part is my computer stays logged into onedrive so I hope it wasn't some phishing scam or something???

Thanks, works as advertised.


----------



## elprice7345

latenitetech said:


> Got it, thanks, make sense. Is there any particular advantage of using one database over the other? I think I have been using 'theTVDB' only because it was my default and seemed to have everything I was looking for, but perhaps TMDB has better or more complete info?


I believe TVDB is older. It's also more complete, at least for documentaries and specials, although that difference seems to be diminishing. If your interests are popular shows, you'll find them comparable.

The only major difference I find is TMDB allows/encourages much better (640x360 vs. up to 3840x2160) cover art for episodes.

TMDB considers any show that doesn't have multiple episodes to be a "movie". This includes movies (of course) and one-off specials (documentaries, comedy specials, etc.).

I'm not sure why the South Park episode you mentioned were classified as "movies".


----------



## elprice7345

Soapm said:


> Thanks for the updates.
> 
> Anybody having trouble downloading from the onedrive? I get "something went wrong" then it takes me to my personal onedrive.


The link worked for me.


----------



## Soapm

elprice7345 said:


> The link worked for me.


Still not working for me, do you have a personal onedrive account on the PC you're using?


----------



## elprice7345

Soapm said:


> Still not working for me, do you have a personal onedrive account on the PC you're using?


Yep! I have Onedrive connected to my personal account.


----------



## elprice7345

@dlfl I thought we had an option in MG3 to include or exclude series year when we renamed files?

The only related option I can find is attached:








When multiple series have the same name, I use the series starting year to make them unique. This works great, but I've stumbled on a new scenario:
the TV show _Mobsters_ has 2 entries on TMDB, but 1 of them is a ghost series that needs to be deleted (I've requested deletion).

Since I expect the ghost series will eventually be deleted, I didn't want to include the series year in the series title.

Toggling on and off the highlighted option didn't make an difference.

Have I missed something?

Can this option be easily fixed/added?


----------



## dlfl

elprice7345 said:


> @dlfl I thought we had an option in MG3 to include or exclude series year when we renamed files?
> 
> The only related option I can find is attached:
> View attachment 76095
> 
> 
> When multiple series have the same name, I use the series starting year to make them unique. This works great, but I've stumbled on a new scenario:
> the TV show _Mobsters_ has 2 entries on TMDB, but 1 of them is a ghost series that needs to be deleted (I've requested deletion).
> 
> Since I expect the ghost series will eventually be deleted, I didn't want to include the series year in the series title.
> 
> Toggling on and off the highlighted option didn't make an difference.
> 
> Have I missed something?
> 
> Can this option be easily fixed/added?


Try new release version 4.06 (link in first post). For some reason that option wasn't coded into the TMDb series functionality.

Related note: You can *add* the series year by inserting {oadyear} in the TV Series Template string. Use the
"{oadyear}-{oadmonth}-{oadday}" choice of Meta Tag Grabber and edit out the unneeded part. Usually not necessary because the year will be appended by default, if available and option not checked.


----------



## elprice7345

@dlfl - I tested v4.06 and it is still behaving the same ... MG3 still adds the year in parenthesis, even with the "Remove (xx) and (xxxx) from series title ends" checked.

Am I missing something? Did I select the correct option?


----------



## dlfl

elprice7345 said:


> @dlfl - I tested v4.06 and it is still behaving the same ... MG3 still adds the year in parenthesis, even with the "Remove (xx) and (xxxx) from series title ends" checked.
> 
> Am I missing something? Did I select the correct option?


Where are you seeing this? Series search result list? In created pyTivo .txt file? In meta-renamed folder/file names?

And are you seeing it in the “ghost” series or the real one?


----------



## elprice7345

Sorry, I should have been more clear ... my issue is with file renaming, not the metadata.

In my example, MG3 finds 2 series named "Mobsters" on TMDB.

One of them is empty and I've requested it to be deleted. The main series has "(2007)" appended to the end of the series title. (see attached).








Since I expect the empty series to eventually be deleted, I would like to avoid appending the year at the end of the file name. For example, I would like the file name to be "Mobsters-S01E01-Jack Ruby.ts" vs. "Mobsters (2007)-S01E01-Jack Ruby.ts".

Is that possible and if so, how?


----------



## dlfl

elprice7345 said:


> Sorry, I should have been more clear ... my issue is with file renaming, not the metadata.
> 
> In my example, MG3 finds 2 series named "Mobsters" on TMDB.
> 
> One of them is empty and I've requested it to be deleted. The main series has "(2007)" appended to the end of the series title. (see attached).
> View attachment 76438
> 
> 
> Since I expect the empty series to eventually be deleted, I would like to avoid appending the year at the end of the file name. For example, I would like the file name to be "Mobsters-S01E01-Jack Ruby.ts" vs. "Mobsters (2007)-S01E01-Jack Ruby.ts".
> 
> Is that possible and if so, how?


Please post the file renaming template you’re using.


----------



## elprice7345

{title}-S{seasonnum}E{epnum}-{eptitle}


----------



## dlfl

elprice7345 said:


> {title}-S{seasonnum}E{epnum}-{eptitle}


It's working as you desire for me. Are you sure you have Ver. 4.06?

As a check I downloaded from the OneDrive link in the first post. Not sure it makes any difference but best to bring up properties of the downloaded zip and check "Unblock" then click "Apply", before extracting from it.

Another precaution is to ensure all the existing files in the runtime (install) folder are gone (deleted or moved) before extracting the new files into it.

The way I like to "extract" the files is to double click the zip, then select all files (Ctrl-A), then copy, then paste into the runtime folder.


----------



## elprice7345

Oops! Error on my side!

MG3 showed it was 4.06, but your correction wasn't working.

I deleted all the MG3 program files, unzipped again, copied them into the directory, and it's working now!

Thanks @dlfl!


----------



## Soapm

That's the draw back in some of the ways we put the data in those sites. People put them in how they want them to be used which isn't always how WE would have done it. But then again, we get these tools and the sites at our favorite price, FREE... So can we really complain?

I'd say leave the 2007 there for now and rerun automatically when the site gets updated.


----------



## reneg

Is anyone else seeing a programId search never returning for TVDB? I was running v4.04, and upgraded to v4.06 and the problem is still happening. For me, it seems to happen during both previous seriesId search & new seriesId search. Tried refreshing my domain token too, but didn't help. Example series causing a problem is Queen Sugar.


----------



## dlfl

reneg said:


> Is anyone else seeing a programId search never returning for TVDB? I was running v4.04, and upgraded to v4.06 and the problem is still happening. For me, it seems to happen during both previous seriesId search & new seriesId search. Tried refreshing my domain token too, but didn't help. Example series causing a problem is Queen Sugar.


Seeing the same and it's for any title and doesn't depend on whether tehTVDB or tmdB was searched. I'll look at it but the issue involves lacking mind server web response so may be very hard to diagnose and fix.


----------



## reneg

dlfl said:


> Seeing the same and it's for any title and doesn't depend on whether tehTVDB or tmdB was searched. I'll look at it but the issue involves lacking mind server web response so may be very hard to diagnose and fix.


Totally understand if it cannot be fixed. I don't know if I'm just impatient or it will eventually will return with an error. If you can't fix it, would it be possible to return with an error sooner?


----------



## dlfl

Test version 4.07T1 available via one drive download link:









MG407T1.zip


Compressed (zipped) Folder



1drv.ms





RPC searches that hang because of Mind server connection failure (a current problem) will time out with a pop up message, instead of hanging MG3. The time is not controllable and ranges from 45 to 65 seconds on my machine. Unfortunately I haven't figured out a way to make the cancel search buttons work in this case.

I hope this is just a temporary issue with the TiVo server because I'm not sure I can diagnose the problem otherwise.


----------



## reneg

dlfl said:


> Test version 4.07T1 available via one drive download link:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> MG407T1.zip
> 
> 
> Compressed (zipped) Folder
> 
> 
> 
> 1drv.ms
> 
> 
> 
> 
> 
> RPC searches that hang because of Mind server connection failure (a current problem) will time out with a pop up message, instead of hanging MG3. The time is not controllable and ranges from 45 to 65 seconds on my machine. Unfortunately I haven't figured out a way to make the cancel search buttons work in this case.
> 
> I hope this is just a temporary issue with the TiVo server because I'm not sure I can diagnose the problem otherwise.


I can confirm that the time out pop up shows up. I hope Tivo gets their act together with the Mind server.


----------



## Sparky1234

Same. Hangs here too. Thought it might be connected to an update to kmttg; but apparently not!


----------



## dlfl

Version 4.07 released (see download link in first thread post).
RPC (seriesId, programId) functionality restored. The TiVo URL for RPC calls had changed.

Heavy thanks are due to @lart2150 for diagnosing this problem!


----------



## elprice7345

Well done @dlfl and @lart2150!


----------



## leswar

All hail, you guys are great! Thank you....


----------



## Soapm

Thanks!


----------



## szwjunk

Thanks so much for the ongoing maintenance! I'm much obliged to you.


----------



## elprice7345

@dlfl - I have another opportunity for you!

When I search for the movie _Border_ from 2018, MG3 doesn't show it in the results.
Border at TMDB
Border at IMDB

When I search for the movie on TMDB, it shows up on page 5 of the search results.

Can you work your magic on this one?


----------



## dlfl

elprice7345 said:


> @dlfl - I have another opportunity for you!
> 
> When I search for the movie _Border_ from 2018, MG3 doesn't show it in the results.
> Border at TMDB
> Border at IMDB
> 
> When I search for the movie on TMDB, it shows up on page 5 of the search results.
> 
> Can you work your magic on this one?


I'm just starting to look at this but interesting that if you search on the "original" title "gran", Border (2018) is the second result on the list. MG3 even finds a programID for it.

EDIT:
The "original" title is "grans" (not "gran").


----------



## dlfl

I've dug into the "Border" issue and the solution is complex enough that I'm doubting it's worth fixing. The only way MG3 has to search on a movie title, requires fetching one page of 20 results at a time. For this movie, the desired result (searching on "border") doesn't appear until the 9th page, while searching on the tmdB website places it in the 5th page. The complication is in "original title" (e.g., "grans") vs. "title" (e.g., "border"). It isn't clear how either the website or the API (i.e., MG3) searches mix these results into "pages". 

MG3 currently just retrieves the first page of results, and AFAIK it is extremely rare that the desired movie isn't included therein. It is certainly doable for MG3 to retrieve more pages but these questions arise:

1. How many pages need to be retrieved? This is not knowable and just happened to be 9 for one known example. For the tmdB website search on "border", 26 pages are presented, while the API can return 27 pages for this case. 
2. Is the additional code complexity, and possible time delays, associated with searching many pages worth doing?

If this problem comes up more often than almost never, I will consider a MG3 mod to extend the number of pages searched to something like 10. Note there is no way to stop the search based on finding the desired title. This is illustrated in the "border" example as several results just in the first page match the title exactly (but are not the desired movie).


----------



## elprice7345

@dlfl I didn't think to search by original title (as you did), but that seems to be the easiest solution ... it certainly doesn't require you to modify MG3.

It works for the case in question. I couldn't think of any other test cases.

Thanks for looking into it and helping me out!


----------

