How do I start developing a PC Program for TiVo?

Discussion in 'Developers Corner' started by BertPre, Apr 17, 2017.

  1. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016

    Advertisements

    I want to develop a program to run on a PC which accesses and downloads the whole Program Guide to a PC so I can sort it like my old Series 2 Tivo used to in the "Find Programs by Title" section. I am not sure where to begin. I need to get much of the functionality of kmttg in terms of accesing the data, then save it to a text database where I can deal with it in VB (a language I am very experienced in). But the front end will have to be in Java I assume. Have heard there are SDKs out there, and I saw the developer.tivo.com site, but I am not looking to commercially develop a product, I just cant STAND how the newer Tivo's (like my new bolt) deal with sorting... cant find what shows are on cable like I used to. Frustrated enough to write my own program despite the difficulty with the front end.... rear end would be a piece of cake if I could get the data in text form (channel guide, program data, metadata, thumbs ratings for each show, etc).
    Any help or advice would be appreciated.
     
  2. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,758
    6,302
    Apr 17, 2000
    Nevada
    The problem with anything like this is that it requires a certificate. The developer of kmttg extracts the one he uses from the TiVo iOS app, but from what I understand it's really difficult and TiVo makes it even more difficult with each new app release. The one in kmttg expires next year and after that who knows if he'll be able to do it again.

    That being said there are certificates and sample code available out there in both Java and python. I personally tried to get it working in C# but had some trouble and never figured out how to get it working properly. Although that's not to say it can't be done. There is a Windows phone app out there that does it, which is written in C#, so it's possible. I just couldn't personally get it to work.
     
    BertPre and Mikeguy like this.
  3. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    I guess the only thing to do is send my tivo back before 30 day window expires... it is almost useless to me if I cant use it to mine out shows/movies I didnt know of to get my monies worth out of a $200/month cable bill. Probably be just as well off with Cox Contour as far as season passes and the like... smh... just cant believe Tivo screwed that feature up... enjoyed all these years (up till end of last November)... hoped they would have improved it... not eliminated it...
     
  4. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,758
    6,302
    Apr 17, 2000
    Nevada
    Have you tried any of the online services like titantv or tvguide?
     
    BertPre likes this.
  5. lpwcomp

    lpwcomp Well-Known Member

    9,461
    298
    May 6, 2002
    John's...

    Advertisements

    Just modify kmttg for your own use.
     
    BertPre likes this.
  6. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    That is what I was thinking of doing, but Dan was talking about the need for certificates. Was digging into Netbeans and Java today until I saw his comment and figured it was a waste of time (not experienced in Java... good excuse to learn). I just wanted to modify kmttg to generate a super large 'text dump, comma delimited' file of the guide and use VB6 to deal with the actual sorting (I am quite good at programming in VB6).
     
  7. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    Yes... I actually posted in another thread originally but none of those panned out to be equivalent.
    Confused and Irritated New Bolt Customer
     
  8. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    I find it hard to believe that nobody else has done this. I mean, the original Tivo pitch back in the late 90's/early 2k's was 'free yourself from the cable companies TV schedule' (to paraphrase) ... and that wasnt just hype... it REALLY worked... if you learned to really use Tivo for the power it had. It took me 5 years before I realized the power it really had... but being able to know with certainty that i was catching even the most obscure show or movie every week and didnt care when it was on or on what channel... just watching shows on MY SCHEDULE and NEVER having to browse thru live TV in 17 years made me rave about Tivo to everybody I met.... but it looks like nobody else realized the power this thing had like I did. The way it is now, the 2 to 3 hr search I would do every Wednesday evening would take like 20 or 30 hours... a PT Job... I cant do that.
     
  9. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    Just breaks my heart they screwed this up so bad... the ONLY product I ever was truly FANATICAL about...
    Dont get me wrong, I like some of the other features of the Bolt, but in the end, I am not a WHOLE lot better off than I was with a dead Tivo Series 2 and a 'no service' Replay TV being used for a dumb DVR.... at least not $750 worth of better off anyway.
     
  10. lpwcomp

    lpwcomp Well-Known Member

    9,461
    298
    May 6, 2002
    John's...
    I think Dan was talking about what you would need to do to develop and run your own program from scratch. It is quite possible to build and run a locally modified kmttg although, IIRC, I had to extract the certificate from the jar file and add it to the build path.

    I use Eclipse for modifying and building.
     
    BertPre likes this.
  11. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,758
    6,302
    Apr 17, 2000
    Nevada
    The python script that VAP uses might be easier to use. But it depends one which language you're more comfortable with.
     
    BertPre likes this.
  12. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    Python might be easier to figure out than Java I would imagine.... since I am coming from a heavy VB background it is all a bit confusing :)
     
  13. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    I would love to check out the source files to kmttg.... not quite sure where it is located (found older version v1.1r from 2015 on sourceforge) . Installed Netbeans, but could try it on Eclipse also (dont know how to use either GUI yet)... again, new to Java.
     
  14. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,758
    6,302
    Apr 17, 2000
    Nevada
    Have you tried just using Wish Lists?
     
    BertPre likes this.
  15. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    The problem with wishlists is that it tends to give me EVERY occurrence of a given episode of a show... so really I am not much better off than just using a 'filtered guide' which is the closest I can come to Series 2 functionality on the Bolt... I really need them in alphabetical order... or at LEAST to where it shows only one occurrence... that is why it takes 10x longer now than it used to (I used to dread spending 3 hrs on it each week LOL).
     
  16. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    It would be a real simple to do program in VB if I just had the raw data to work with.... so close but so far... very frustrating after being deprived of my Series 2 for 5 months.
     
  17. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    I am sure it would be at least a couple hundred megabytes of text if the guide, thumbs ratings, metadata, genre, etc were converted... perhaps 10x that... but that could be broken up in a channel-by-channel manor perhaps if it was too large for VB to deal with. Could attempt some sort of binary file, but that might cause a lot of brain damage (on the Java side that is).
     
  18. Dan203

    Dan203 Super Moderator Staff Member TCF Club

    51,758
    6,302
    Apr 17, 2000
    Nevada
    It's been a long time since I used a S2 but IIRC it allowed you to filter the search by title list by category didn't it? I'm not an expert on the mind/RPC API but I think you'd have to perform several calls to get the data you want and then you'd have to manually filter it. Could be much more involved, and slower, then you'd think.

    Newer TiVos don't use the downloaded data for any of the search/browse functions. They use the mind/RPC API too. That's why when your internet connection goes out all the search/browse functions are disabled. That could be why TiVo didn't move the functionality over. Because replicating the feature would be too complex using the new API.
     
    BertPre likes this.
  19. lpwcomp

    lpwcomp Well-Known Member

    9,461
    298
    May 6, 2002
    John's...
    kmttg / Wiki / eclipse_project
     
    BertPre likes this.
  20. BertPre

    BertPre Member

    38
    0
    Nov 19, 2016
    Yea it wouldnt surprise me if I had to do many, many queries to extract the data (even if the db were still on the Tivo).. but that could be automated and I could wait for the data (even if it took 24 hours to complete). But your observation wouldnt surprise me given that this is all transacted on the net these days ... no dial up anymore (havent had the Bolt long enough to know what happens in an internet outage yet...but that is a dead giveaway). Even extracting the data out of kmtty's channel guide is a start (again, would have to automate with some sort of loop logic in Java).
    After the data were rendered in my would-be VB program, it would be a fairly quick affair to search it.
    Might dump it into an Access db in VB or might just deal with it as a 'by genre' sorted list in a set of structures or arrays that can then be further filtered within that genre as desired (like being able to filter out movies/shows I have already seen (that are thumbs rated)... that would cut my old 2-3 hr once a week search time down to 30 minutes max....daydreamed about being able to do that for years). As long as it were not impossible, it is worth doing... that is how important the feature was to me.
    I could PERHAPS attempt to extract from and control kmttg externally from VB using the Win API... but it would be tricky given VB6's 'arms length' no pointers operation with the Win API, plus I am very rusty at that and it would be a mess and I am sure the Win API has changed a lot in the 15 years since I dealt with it. I know getting the hooks of an external program was a tricky thing even back then... cant imagine the nightmare it would be today.
     
    Last edited: Apr 18, 2017

Share This Page

spam firewall

Advertisements