# Automatic SkipMode Project Proposal



## RoamioJeff (May 9, 2014)

Okay, I'm not trying to make any money, not trying to sell anything, and not starting a KickStarter project. This is just a project idea for a hobby enthusiast with more time and smarter than me. 

With the rollout of SkipMode, it would seem trivial to put something together to make it automatic. Using something like a Raspberry PI or Arduino, all someone would need to do is some clever programming.

With SkipMode there is a very unique ding-a-ling notification in the audio. That could be sampled and used as a reference, and compared to a tap off of the live audio. When detected, an IR signal for the 'D' or Channel Up key could be sent out from an IR emitter. This hypothetical device would always be "listening" for the unique notification sound, and when heard automatically skip the commercial break for the user. Maybe someone has a more elegant solution.

It seems trivial. Am I wrong? Anyone out there feel froggy?


----------



## TonyD79 (Jan 4, 2002)

No ding for anyone using Dolby digital. Which should be everyone using an AVR.


----------



## Azlen (Nov 25, 2002)

RoamioJeff said:


> Okay, I'm not trying to make any money, not trying to sell anything, and not starting a KickStarter project. This is just a project idea for a hobby enthusiast with more time and smarter than me.
> 
> With the rollout of SkipMode, it would seem trivial to put something together to make it automatic. Using something like a Raspberry PI or Arduino, all someone would need to do is some clever programming.
> 
> ...


Commercial free broadcasts are available from the right places typically within in seconds of the show airing on the east coast. Why go through a more complicated measure rather than just download it?


----------



## gonzotek (Sep 24, 2004)

Azlen said:


> Commercial free broadcasts are available from the right places typically within in seconds of the show airing on the east coast. Why go through a more complicated measure rather than just download it?


By that logic, why even have a TiVo in the first place? 

Besides TonyD79's very salient point, that doesn't sound too difficult. As a Dolby Digital user, I don't get the dings...does anyone know if they use the same tone for other TiVo-related notifications (back before the AVR, I seem to recall the commercial thumbs-up pop-ups had dings, for instance)?


----------



## RoamioJeff (May 9, 2014)

gonzotek said:


> does anyone know if they use the same tone for other TiVo-related notifications (back before the AVR, I seem to recall the commercial thumbs-up pop-ups had dings, for instance)?


The SkipMode notification sounds (to me, anyway) to be unique and distinct.


----------



## RoamioJeff (May 9, 2014)

Azlen said:


> Commercial free broadcasts are available from the right places typically within in seconds of the show airing on the east coast. Why go through a more complicated measure rather than just download it?


I'm confused. What does this have to do with the topic, or TiVo?


----------



## Azlen (Nov 25, 2002)

RoamioJeff said:


> I'm confused. What does this have to do with the topic, or TiVo?


Because using tools such as PyTivo, that have been discussed on this board, can already give you the same outcome as what you are proposing.


----------



## Dan203 (Apr 17, 2000)

TonyD79 said:


> No ding for anyone using Dolby digital. Which should be everyone using an AVR.


The analog output in TiVo is always active and will always play the ding even if connected to an AVR and listening to DD audio.


----------



## RoamioJeff (May 9, 2014)

Azlen said:


> Because using tools such as PyTivo, that have been discussed on this board, can already give you the same outcome as what you are proposing.


Thank you. Well aware. That appears to be a different topic. This topic is about automating SkipMode for those who are interested in just hitting play on a recorded show.


----------



## Azlen (Nov 25, 2002)

RoamioJeff said:


> Thank you. Well aware. That appears to be a different topic. This topic is about automating SkipMode for those who are interested in just hitting play on a recorded show.


I'm just saying that you can already do that. I hit play on my Tivo and I get a whole show without ads. It's all done automatically.


----------



## gonzotek (Sep 24, 2004)

RoamioJeff said:


> The SkipMode notification sounds (to me, anyway) to be unique and distinct.





Dan203 said:


> The analog output in TiVo is always active and will always play the ding even if connected to an AVR and listening to DD audio.


Interesting...something I'll have to play with.. My RPi2 is doing triple duties right now as an MAME/Retro-console game emulator, IOT hub, and backup scheduler, so I don't want to add any more tasks to it, But I'm planning on moving the games to a RPi3 at some point, which'll free up plenty of cycles for something like this on the 2.


Azlen said:


> I'm just saying that you can already do that. I hit play on my Tivo and I get a whole show without ads. It's all done automatically.


Even if we ignore the legality(we're also talking about skipping ads, so moral arguments have already shot right out the door ;-) ). There's still an ongoing cost (bandwidth) involved with the download and push approach, as well as some appreciable delay until the show downloads to a local pc and then transfers to the TiVo. For <$40, the Pi could 'just work' as soon as skipmode is made available.


----------



## Dan203 (Apr 17, 2000)

The only issue I see with a system like this is the end points of the segments don't seem to be that accurate. It often takes 10-15 seconds after the commercials start for the little banner to pop up and ding reminding you about skip. That could be annoying.


----------



## RoamioJeff (May 9, 2014)

Dan203 said:


> The only issue I see with a system like this is the end points of the segments don't seem to be that accurate. It often takes 10-15 seconds after the commercials start for the little banner to pop up and ding reminding you about skip. That could be annoying.


Interesting. Most of my SkipMode notifications have been near instantaneous, or within 3 seconds. And I've probably watched about 50 hours of SkipMode-enabled programming since SkipMode was activated on my Roamio. But that is a valid point, as is seems different people's mileage seems to vary with a few TiVo features (SkipMode alignments, Audio dropouts, Blue Circles, etc.). I guess I've been lucky in not having these issues


----------



## Dan203 (Apr 17, 2000)

I've been using SkipMode on my Bolt since last October, so I've watched hundreds of SkipMode enabled shows. Some are spot on, some are way off. I'm sure a system like this would work well enough for most people just might be a little annoying on some shows.


----------



## lessd (Jan 23, 2005)

Talk about people being lazy, for one button push per AD, I remember having to get up with my first piano key VCR and having to push FF and go back and forth to get by the ADs, this single button push from my chair, at least to me, is the best.


----------



## the block (Jan 9, 2006)

Would be nice if Skipmode would go a step further and clip out and delete the actual commercial itself. In a 60 minute show, there's 20 minutes of commercials. As a result, 1/3 of your TiVo's recordings are commercials. Could definitely store more shows if we're not storing commercials that people only skip over anyways.


----------



## mattack (Apr 9, 2001)

Dan203 said:


> The only issue I see with a system like this is the end points of the segments don't seem to be that accurate. It often takes 10-15 seconds after the commercials start for the little banner to pop up and ding reminding you about skip. That could be annoying.


I hope you realize you don't have to wait until that banner comes up.. Just hit channel up (or the letter key) right when the commercial starts.. or heck, ANY time if you want to jump in the middle of the show to the beginning of the next segment..


----------



## mattack (Apr 9, 2001)

the block said:


> Would be nice if Skipmode would go a step further and clip out and delete the actual commercial itself. In a 60 minute show, there's 20 minutes of commercials. As a result, 1/3 of your TiVo's recordings are commercials. Could definitely store more shows if we're not storing commercials that people only skip over anyways.


1) Studies have shown that most people DO NOT skip over commercials.. yes, even with DVRs..
2) the skip marks ARE NOT ACCURATE.. While I would love this ability (actually, I would PAY good money for the ability to do 'minimal' in/out editing on Tivo recordings directly on the Tivo), basing it on the commercial skip markers would MISS SHOW.. that would make me very mad.
3) This would almost certainly be lawsuit bait, if the theories about this being done "at user action" is really the reason why this is tolerated but not more automatic skipping... (IANAL, but it seems to me that literally deleting it from the hard drive is more "severe" than theoretical automatic skipping.)


----------



## TonyD79 (Jan 4, 2002)

I have had ZERO skip markers that missed show.


----------



## mattack (Apr 9, 2001)

I'm not the only one who has noted this, btw.


----------



## Dan203 (Apr 17, 2000)

mattack said:


> I hope you realize you don't have to wait until that banner comes up.. Just hit channel up (or the letter key) right when the commercial starts.. or heck, ANY time if you want to jump in the middle of the show to the beginning of the next segment..


That's true when you're manually pressing the button. But the OP is talking about an automated system that listens for that chime and uses that as a cue to do it automatically.


----------



## aaronwt (Jan 31, 2002)

TonyD79 said:


> No ding for anyone using Dolby digital. Which should be everyone using an AVR.


Or even a TV if set for DD. All my TVs for many, many years have accepted Dolby Digital on the HDMI inputs.


----------



## gonzotek (Sep 24, 2004)

lessd said:


> Talk about people being lazy, for one button push per AD, I remember having to get up with my first piano key VCR and having to push FF and go back and forth to get by the ADs, this single button push from my chair, at least to me, is the best.


I'm more interested in the challenge of identifying the ding sound in real-time with a Raspberry Pi. Haven't ever worked with sound processing before...should be fun .


----------



## jrtroo (Feb 4, 2008)

Seems cool for someone looking for a project. I don't understand how the OP thinks this would be trivial, if that were the case the OP could do it themselves.


----------



## gonzotek (Sep 24, 2004)

jrtroo said:


> Seems cool for someone looking for a project. I don't understand how the OP thinks this would be trivial, if that were the case the OP could do it themselves.


Matter of scale. It's trivial compared with something like Amazon Alexa via Echo, for instance, which has to listen for its keyword then respond to a virtually limitless range of possible requests. This just has to reliably detect one specific sound from a real-time audio stream, the rest is an absolute cakewalk.


----------



## Johncv (Jun 11, 2002)

RoamioJeff said:


> Okay, I'm not trying to make any money, not trying to sell anything, and not starting a KickStarter project. This is just a project idea for a hobby enthusiast with more time and smarter than me.
> 
> With the rollout of SkipMode, it would seem trivial to put something together to make it automatic. Using something like a Raspberry PI or Arduino, all someone would need to do is some clever programming.
> 
> ...


You sound like my brother, too lazy to press a button.


----------



## moyekj (Jan 24, 2006)

FYI, for those still interested in hands free commercial skipping based on SkipMode, kmttg now has something based on it:
kmttg / Wiki / AutoSkip_from_SkipMode


----------



## mrizzo80 (Apr 17, 2012)

moyekj said:


> FYI, for those still interested in hands free commercial skipping based on SkipMode, kmttg now has something based on it:
> kmttg / Wiki / AutoSkip_from_SkipMode


Thanks for doing this. 

I tested this out on an episode of _The Daily Show_ and it worked great. I was quite surprised to find out that this appears to work WITHOUT initiating playback from kmttg (i.e. it works when I initiate playback from my remote.) How are you accomplishing that?

Is it possible to automate the "bindkey v" step? Like maybe a service that runs overnight and runs that step for any newly recorded shows that have TiVo SkipMode data but not kmttg "cut points" yet?


----------



## moyekj (Jan 24, 2006)

If you run kmttg AutoSkip service then yes, it will work without having to initiate playback from kmttg. As a bonus it will also work for playback from series 4 TiVos as well (even though they don't support SkipMode), as well as from TiVo Minis.

The service works by just polling the TiVo every few seconds to find out what's playing. If kmttg sees you are playing something that has AutoSkip data then AutoSkip automatically kicks in for it, and ends once you are no longer playing it. It really is a neat trick!

If you don't enable AutoSkip service you can still initiate play from kmttg for a single show using the 'z' bindkey.

Yes I will have to think about further automation. Since the part that collects the skip point data can disrupt viewing on the TiVo it is running on obviously it's not something that can run in the background at unplanned times.


----------



## TivoJD (Feb 8, 2005)

moyekj, I just discovered this post and turned on the AutoSkip service, it works great, love it! Can't thank you enough for your work.


----------



## mattack (Apr 9, 2001)

Azlen said:


> Commercial free broadcasts are available from the right places typically within in seconds of the show airing on the east coast. Why go through a more complicated measure rather than just download it?


Because some people are against theft.


----------



## Azlen (Nov 25, 2002)

mattack said:


> Because some people are against theft.


So downloading a show to watch without commercials is bad but having automated process on your Tivo to watch a show without commercials is fine? That's really splitting hairs.


----------



## slowbiscuit (Sep 19, 2006)

moyekj said:


> FYI, for those still interested in hands free commercial skipping based on SkipMode, kmttg now has something based on it:
> kmttg / Wiki / AutoSkip_from_SkipMode


Thanks for this!! One problem I found (maybe I'm doing it wrong) - can't queue up a bunch of skip point requests for shows by selecting either a group or multiple shows. Have to select each show one by one then hit 'v' which is time-consuming. Also if you try to do more than one show at a time without waiting for each request to finish, none of them get requested correctly (looking at the log window that is).

Also, small bug - if you hit the 'import skip' button then don't have a file to import, you can't cancel out of the dialog. Have to kill the program.


----------



## moyekj (Jan 24, 2006)

slowbiscuit said:


> Thanks for this!! One problem I found (maybe I'm doing it wrong) - can't queue up a bunch of skip point requests for shows by selecting either a group or multiple shows. Have to select each show one by one then hit 'v' which is time-consuming.


Yes it's designed for only 1 at a time for now.



> Also if you try to do more than one show at a time without waiting for each request to finish, none of them get requested correctly (looking at the log window that is).


 That's expected since it's sending remote presses to your TiVo, so doing more than 1 at a time won't work. I suppose I could look into preventing doing more than 1 at once.



> Also, small bug - if you hit the 'import skip' button then don't have a file to import, you can't cancel out of the dialog. Have to kill the program.


 You can just "X" the Skip Share Import window to close it.


----------



## moyekj (Jan 24, 2006)

New kmttg version released to address issues discussed above and add a menu entry to process AutoSkip from SkipMode automatically for all eligible entries. See release notes:
kmttg / Wiki / release_notes


----------



## mrizzo80 (Apr 17, 2012)

Thanks for the "W" key update.

I've noticed a few issues that I'll pass along:
1.) the "V" and "W" commands tend to leave the TiVo in a weird state after it finishes. (The main menu is missing several options. When I drill into My Shows nothing shows up but a blue spinning circle. I get 501 error dialogs. Sending the HDUI Reset button sequence flushes out whatever the problem is and returns the TiVo to a valid state.) I've seen this happen 3 times.

2.) I tried the new "W" command. Overall I think it's a great feature that you were able to publish very quickly, but I'd like to report a couple bugs. (It had quite a bit to process - like 65 shows; I'm guessing 20 or so worked.)

I saw quite a bit of these types of errors across different shows.
_Living Room: Scanning SkipMode cut points for 'Designated Survivor - The Mission'
rpc Read error - *Invalid Padding length: 243*
rpc Auth error - null
_
And 1 of these:
_Living Room: Scanning SkipMode cut points for 'This Is Us - The Game Plan'
rpc Read error - *Invalid TLS padding data*
rpc Auth error - null_

3.) I'm not sure if this occurs under just W or both V and W, but the "Partially Watched" smartlist in My Shows appears to fill up with anything this functionality touches. Some look like they've been watched for about a minute and some look like they've been watched for just a few seconds. Is there any way you can force the show back to a 0.00 timestamp so it doesn't put shows into that list?


----------



## UCLABB (May 29, 2012)

I tried using the "w" key to do all of the eligible programs on the NPL. It first identified all the programs and listed them It then did a couple, listing the cut points. It then listed a few more, but didn't list the cut points. It then stopped. I then went into the NPL to a program without the "S" and used the "v" key on a program and I got the dialog box asking if I wanted to override existing skip data. If I clicked yes, it then said data removed and set a new table and showed cut points.

So, some glitches on the global for me.


----------



## moyekj (Jan 24, 2006)

I haven't seen the glitches reported using my Roamio Pro, but I've only let it do at most 10 programs at once. I run this as programs record so usually one by one. I don't see any side effects in terms of HDUI becoming glitchy after using. mrizzo80, yes certainly if you were getting RPC errors then it seems to imply your TiVo was having a hard time keeping up with all the requests. What model TiVo is it?


----------



## UCLABB (May 29, 2012)

Mine is a Roamio Plus. I had a ton of programs with skip, somewhere between a hundred and two hundred, iirc. I suspect trying to start that many playbacks overwhelmed it. Now I guess I have to go one at a time. And, I have to figure out how to get all the partially watched shows off that list and back to virgin.


----------



## Series3Sub (Mar 14, 2010)

Probably Cheaper and easier for TiVo just to license Echostar patent for its automatic commercial skipping function requiring no intervention from the viewer. That would solve the problem for everyone. .


----------



## bradleys (Oct 31, 2007)

moyekj said:


> FYI, for those still interested in hands free commercial skipping based on SkipMode, kmttg now has something based on it:
> kmttg / Wiki / AutoSkip_from_SkipMode


I love Kmttg and use it quite a bit - but most of the time I do not want to download a show. I just want to play and let it run. The OP's idea is interesting - listen for an audio sample and fire a network command to "skip"

My wife would love it...


----------



## mrizzo80 (Apr 17, 2012)

moyekj said:


> mrizzo80, yes certainly if you were getting RPC errors then it seems to imply your TiVo was having a hard time keeping up with all the requests. What model TiVo is it?


I have a Roamio Plus.


----------



## mrizzo80 (Apr 17, 2012)

bradleys said:


> I love Kmttg and use it quite a bit - but most of the time I do not want to download a show. I just want to play and let it run. The OP's idea is interesting - listen for an audio sample and fire a network command to "skip"
> 
> My wife would love it...


There's no download requirement associated with the automatic commercial skip component. I think it requires the kmttg console app to be open since I don't think the skip component runs as a Windows Service (but I could be wrong about that.) Definitely give it a try.


----------



## moyekj (Jan 24, 2006)

bradleys said:


> I love Kmttg and use it quite a bit - but most of the time I do not want to download a show. I just want to play and let it run. The OP's idea is interesting - listen for an audio sample and fire a network command to "skip"
> 
> My wife would love it...





mrizzo80 said:


> There's no download requirement associated with the automatic commercial skip component. I think it requires the kmttg console app to be open since I don't think the skip component runs as a Windows Service (but I could be wrong about that.) Definitely give it a try.


That's correct, there's no download needed for this automatic commercial skip to work. Yes, kmttg needs to be running. If you setup AutoSkip service then you don't even have to initiate play from kmttg -- it will automatically detect when a program with available AutoSkip data is playing on the TiVo and enable AutoSkip on it. It doesn't even have to be playing on the original TiVo it was recorded on either, it can be playing on any series 4 or higher TiVo or TiVo Mini.


----------



## Dan203 (Apr 17, 2000)

Did you work out the issue we had initially with determining the offset of the skip points from the start of the video?


----------



## jerryez (May 16, 2001)

Dish networks skip mode for when it is available runs15-30 seconds of commercial and ends 15-30 seconds early. TiVo is great, mine dings exactly as the commercial starts and the program begin just as the rating pops up in the top left corner and I do not mind hitting the D button to keep things moving. LOVE IT. Networks commercials suck.


----------



## moyekj (Jan 24, 2006)

Dan203 said:


> Did you work out the issue we had initially with determining the offset of the skip points from the start of the video?


 No, I still don't have access to the caption data TiVo uses to fix the timing. What changed is now when you initiate play via RPC SkipMode actually works (didn't used to in older software). So now I'm taking advantage of that to use Channel Down presses to skip backwards through a show and record the positions of all the show start points. Then of course what's missing are the show end points (commercial start points). For that I use the downloaded SkipMode data to compute the length of each show segment. Then I use that information to compute/estimate the show end points. Turns out to be more accurate than I expected with computed end points usually ~2-4 seconds later then they should be, but certainly good enough for automatic skip viewing mode (no download needed for that) or as good estimate for cut points to use in VRD for downloads.


----------



## Dan203 (Apr 17, 2000)

KMTTG does downloading right? Couldn't you use this information to create a VideoReDo project file (vprj) so the user could just open the file in VRD and modify as needed?


----------



## humbb (Jan 27, 2014)

I'm finding that after using the <v> or <w> keys, after the last program cut points are saved, that program begins playing. Is that expected behavior?


----------



## moyekj (Jan 24, 2006)

Dan203 said:


> KMTTG does downloading right? Couldn't you use this information to create a VideoReDo project file (vprj) so the user could just open the file in VRD and modify as needed?


 Yes, it already does that - there's an "Export AutoSkip cuts" menu entry which can be used to create VPrj file for VRD.


----------



## moyekj (Jan 24, 2006)

humbb said:


> I'm finding that after using the <v> or <w> keys, after the last program cut points are saved, that program begins playing. Is that expected behavior?


 Yes, that's how it finds where the show start points are. See:
kmttg / Wiki / AutoSkip_from_SkipMode


----------



## Dan203 (Apr 17, 2000)

moyekj said:


> Yes, it already does that - there's an "Export AutoSkip cuts" menu entry which can be used to create VPrj file for VRD.


Cool.

FYI when I was manually aligning the skipmode data during our old tests the ends of the segments were always off. I don't think TiVo really does a great job adjusting those because they only use them to play the ding and display the skip instruction banner.


----------



## humbb (Jan 27, 2014)

moyekj said:


> Yes, that's how it finds where the show start points are. See:
> kmttg / Wiki / AutoSkip_from_SkipMode


Yes, I understand that it has to initiate play to grab the cut points, but why does it continue playing afterwards (maybe a "skip to end" code sent afterwards)? All of the grabbed programs now appear in my Partially Watched list. 
I love the Autoskip feature though.


----------



## moyekj (Jan 24, 2006)

humbb said:


> Yes, I understand that it has to initiate play to grab the cut points, but why does it continue playing afterwards (maybe a "skip to end" code sent afterwards)? All of the grabbed programs now appear in my Partially Watched list.
> I love the Autoskip feature though.


The last commands sent are skip to original pause point and then a TiVo press for each show, so theoretically it should leave off within a second or so of the original pause point. For the cases when shows were never watched it's possible they are ending up a second or so from time 0 from what's been reported, so I will need to check into that but I haven't seen that from my testing.


----------



## humbb (Jan 27, 2014)

moyekj said:


> The last commands sent are skip to original pause point and then a TiVo press for each show, so theoretically it should leave off within a second or so of the original pause point. For the cases when shows were never watched it's possible they are ending up a second or so from time 0 from what's been reported, so I will need to check into that but I haven't seen that from my testing.


The Tivo press does not end playback. I think you would have to press "Live TV", or initiate playback of another program to do that. Just watch what is actually happening with the TV on.
Thanks!


----------



## moyekj (Jan 24, 2006)

humbb said:


> The Tivo press does not end playback. I think you would have to press "Live TV", or initiate playback of another program to do that. Just watch what is actually happening with the TV on.
> Thanks!


 OK, I understand now. I NEVER use the video window (have it turned off in settings) so for me TiVo press does stop playback. Now I realize that doesn't work for people using the video window, so I need to press pause before TiVo button or use "Live TV" instead.


----------



## Dan203 (Apr 17, 2000)

moyekj said:


> What changed is now when you initiate play via RPC SkipMode actually works (didn't used to in older software).


I wonder if that means SkipMode will eventually work on the app? It also still doesn't work on a Mini if you play from a TiVo that is not the primary host. Not sure why that is since it does work when you lay a file from another TiVo on a TiVo.


----------



## mattack (Apr 9, 2001)

Azlen said:


> So downloading a show to watch without commercials is bad but having automated process on your Tivo to watch a show without commercials is fine? That's really splitting hairs.


It's not splitting hairs.

One is following the law, one isn't.


----------



## Dan203 (Apr 17, 2000)

I believe the could allow protected downloads to a PC, but they'd need to get a better encryption scheme that's approved by CableLabs and they'd have to do the copy and delete like they do in the apps.


----------



## bradleys (Oct 31, 2007)

moyekj said:


> That's correct, there's no download needed for this automatic commercial skip to work. Yes, kmttg needs to be running. If you setup AutoSkip service then you don't even have to initiate play from kmttg -- it will automatically detect when a program with available AutoSkip data is playing on the TiVo and enable AutoSkip on it. It doesn't even have to be playing on the original TiVo it was recorded on either, it can be playing on any series 4 or higher TiVo or TiVo Mini.


I didn't know that... Hold on!


----------



## slowbiscuit (Sep 19, 2006)

It works great with the only caveat being that you have to manually get the skips due to Tivo being taken over for playback by kmttg. Perhaps a way to schedule these retrieves automatically at some user-selected time (like 3am) would be useful?

Thanks again Kevin, great feature.


----------



## bradleys (Oct 31, 2007)

I assume it will not work for copy protected channels?


----------



## moyekj (Jan 24, 2006)

bradleys said:


> I assume it will not work for copy protected channels?


Copy protection has no effect - should work fine. Again, you are not downloading anything for this to work.


----------



## bradleys (Oct 31, 2007)

Well, I took an early afternoon, upgraded to Kmttg 2.2e, downloaded the skip points from my NPL, turned on the service and viola - automated skips!

Interesting that the TiVo actually runs through the show to grab the points. Makes sense, it just surprised my wife for a moment! 

Am always impressed with this tool.

Question: for new shows do I have to manually refresh the NPL and download the skip points for new shows? Is that part of the service?


----------



## gonzotek (Sep 24, 2004)

bradleys said:


> Well, I took an early afternoon, upgraded to Kmttg 2.2e, downloaded the skip points from my NPL, turned on the service and viola - automated skips!
> 
> Interesting that the TiVo actually runs through the show to grab the points. Makes sense, it just surprised my wife for a moment!
> 
> ...


My understanding is that refreshing the NPL and downloading the skip data are both manual right now. It's smart enough to only pick up skip data for shows it doesn't already have. I ran the 'Autoskip from SkipMode - All' option two nights ago and it took probably over an hour to complete (not sure how long since I just turned off the tv and walked away from the pc for a while, but it was 200+ recordings with skip data). But each day since, if I run it again, it only takes a couple of minutes to do the newly recorded shows. Kevin mentioned considering automating it further a couple of pages back; since it can disrupt viewing on the host tivo, it'll require some planning and warning notices if he decides to go ahead with it. I'd personally be fine if it ran overnight at a time of my choosing -- no one in my household is virtually ever watching between 4-6am. It's really a great implementation!


----------



## mattyro7878 (Nov 27, 2014)

lessd said:


> Talk about people being lazy, for one button push per AD, I remember having to get up with my first piano key VCR and having to push FF and go back and forth to get by the ADs, this single button push from my chair, at least to me, is the best.


----------



## mattyro7878 (Nov 27, 2014)

Plus there is the "stay tuned for an extended preview of Dr Strange". Some of us may not want to automatically blow by that


----------



## bradleys (Oct 31, 2007)

You can turn off the service from your couch by tuning in channel zero and turn the service back on by tuning to channel 1.

@mattyro7878 - if I have to go to my server and manually download the skip points it really isn't something that would happen.

What would be really cool is if when I choose to play a recording with skip mode and the skip points have not yet been downloaded - the kmttg service quickly fires and finds all the skip points, then puts me back to the beginning of the recording and starts to play.

Some may not like that because it would delay starting a show by 10 to 15 seconds and kmttg takes control of your TiVo during that time, but I would love it.

I find that I wait to watch my favorite shows just after the skip icon shows up, so even an overnight batch wouldn't work in that case.

Lazy, maybe - but I know I won't fire up the server and grab skip points in real time like that.

Anyway - I am very impressed!


----------



## slowbiscuit (Sep 19, 2006)

We watch pretty much everything at least a day delayed so overnight SM retrieval would work great, but yeah it won't be as useful for those that watch right after a show airs.


----------



## moyekj (Jan 24, 2006)

Version 2.2f of kmttg just released. This version focuses mostly on additional AutoSkip from SkipMode functionality and fixes, including capability to run in batch mode so you can schedule as a repeating task in your OS.

See release_notes Wiki for details.


----------



## UCLABB (May 29, 2012)

It's not working for me. Not sure what I'm doing wrong. I updated to 2.2f. Highlighted show in npl. Rightclicked and chose v. KMTTG got the cut points and said saving. S appeared next to skip. Played show, no automatic skips.


----------



## TivoJD (Feb 8, 2005)

Did you turn on the autoSkip service from the file menu for your tivo?


----------



## moyekj (Jan 24, 2006)

UCLABB said:


> It's not working for me. Not sure what I'm doing wrong. I updated to 2.2f. Highlighted show in npl. Rightclicked and chose v. KMTTG got the cut points and said saving. S appeared next to skip. Played show, no automatic skips.


 If you want to play a single show with AutoSkip enabled use the "Play in AutoSkip mode" right menu entry (bindkey z). Else as mentioned above turn on AutoSkip service if you want it to happen automatically when starting play from a TiVo. Wiki page has all the details.


----------



## UCLABB (May 29, 2012)

moyekj said:


> If you want to play a single show with AutoSkip enabled use the "Play in AutoSkip mode" right menu entry (bindkey z). Else as mentioned above turn on AutoSkip service if you want it to happen automatically when starting play from a TiVo. Wiki page has all the details.


Doh! That'll teach me to actually read the instructions. Thanks Kevin.


----------



## bradleys (Oct 31, 2007)

It works great. I did try to get scheduler to run but I must be doing something wrong. Worked on it for a while - just deleted my scheduler entry and walked away.... I will look at it fresh tomorrow.

I did find a small issue when exporting with com skip and using the standard plex naming: [mainTitle][/][SeriesEpNumber] - [episodeTitle]

First kmttg tries to write an ".edl" file containing the skip points. If the series root directory does not yet exist, we get a no directory exists error.

Then when kmttg actually downloads the mpg file, it creates the directory as expected, but of course the commercial skip procedure fails because it failed to write the file with the skip points.

Small issue, I generally do not create a separate folder for all my series, so minimal impact for me. But I thought I would report it.


----------



## slowbiscuit (Sep 19, 2006)

Awesome update, got the auto skip retrieval task scheduled now. Thanks Kevin, now we have ReplayTV functionality. Well, on the shows that have skip that is which is most of them for us.


----------



## moyekj (Jan 24, 2006)

bradleys said:


> It works great. I did try to get scheduler to run but I must be doing something wrong. Worked on it for a while - just deleted my scheduler entry and walked away.... I will look at it fresh tomorrow.
> 
> I did find a small issue when exporting with com skip and using the standard plex naming: [mainTitle][/][SeriesEpNumber] - [episodeTitle]
> 
> ...


 Thanks for reporting this. I just released v2.2g which has a fix for this as well as another bug introduced with last update.


----------



## BrettStah (Nov 12, 2000)

So if I enable this, if I rewind back into a commercial block for some reason (maybe I catch the very end of a local weather report and want to go back to watch the whole thing), I assume this automatic skipmode will skip ahead again, right?
Probably not a huge deal - that rarely actually happens for us. 

Sounds like a really cool feature!


----------



## moyekj (Jan 24, 2006)

BrettStah said:


> So if I enable this, if I rewind back into a commercial block for some reason (maybe I catch the very end of a local weather report and want to go back to watch the whole thing), I assume this automatic skipmode will skip ahead again, right?
> Probably not a huge deal - that rarely actually happens for us.
> 
> Sounds like a really cool feature!


 Yes. However if using service you can suspend AutoSkip mode by tuning to channel 0 in live TV (resume by tuning channel 1 in live TV). Else if using the single play AutoSkip simply stop playback for a minute or so to turn off AutoSkip.


----------



## mrizzo80 (Apr 17, 2012)

Kevin,

Thanks for building this functionality - and thanks for iterating on it so quickly. The batch job via Windows Task Scheduler works great and the issue with shows being tagged as "partially watched" appears to be resolved in the 2.2f build.


----------



## slowbiscuit (Sep 19, 2006)

Hey Kev, do you think we need an auto-prune of skips that should be removed from the table because the show has been watched and deleted (i.e. keep skip table in sync with what's in now playing)? Might be something else to add on the scheduled retrieves, otherwise the file and table is going to get bigger and bigger.

Probably not a big deal since it will take a long time to have any real impact, I guess. Just a thought.


----------



## TivoJD (Feb 8, 2005)

Slowbiscuit, I think what you are looking for is on the AutoSkip tab in configure (Prune Skip table automatically after NPL refresh)


----------



## slowbiscuit (Sep 19, 2006)

Thanks, yeah didn't realize that tab was there and it works great; however it requires a manual NPL refresh right? What I'm asking for is a prune after a daily auto-skip get, so it's all automated (gets and purges).


----------



## Connor (Oct 13, 2002)

So, I'm running Ubuntu.. Is there a way to run this as a service without the GUI for just the AutoSkip stuff?


----------



## moyekj (Jan 24, 2006)

Connor said:


> So, I'm running Ubuntu.. Is there a way to run this as a service without the GUI for just the AutoSkip stuff?


Nope.


----------



## Connor (Oct 13, 2002)

moyekj said:


> Nope.


Any possibility of getting that added?  Is there any reason to have the gui if it's ran as a service?


----------



## moyekj (Jan 24, 2006)

Connor said:


> Any possibility of getting that added?  Is there any reason to have the gui if it's ran as a service?


I'll look into it...


----------



## Connor (Oct 13, 2002)

moyekj said:


> I'll look into it...


Cool, Thanks..

The other thing that would be cool would be the ability to send the NPL Refresh command along with the AutoSkip from Skipmode - ALL (w) command via some sort of tcp listener. I currently have a Alexia app setup that allows me to control my TiVo, so, If I could just tell Alexa "Tell Tivo Refresh AutoSkip" it would then refresh the NPL and then Execute the AutoSkip - All functions.. Then I don't have to run to my computer and do it everytime I turn around..


----------



## BrettStah (Nov 12, 2000)

OK, so I got this running today - works great! What an awesome program. 

Question from a newbie... I set up the service off of the File menu. Do I need to do anything else to have this run automatically each night, on new shows that get recorded? Apologies if this is covered in this thread or the documentation - if it is, I missed it.


----------



## TivoJD (Feb 8, 2005)

BrettStah said:


> OK, so I got this running today - works great! What an awesome program.
> 
> Question from a newbie... I set up the service off of the File menu. Do I need to do anything else to have this run automatically each night, on new shows that get recorded? Apologies if this is covered in this thread or the documentation - if it is, I missed it.


In the Wiki, go to windows_task_scheduler Its at the bottom of the page. That is if you have windows ...


----------



## BrettStah (Nov 12, 2000)

Yep, it's running on a Windows 10 box. No problem setting up a task either! Thanks. Please excuse another possibly dumb question though. 

My understanding is that kmttg needs to always be running for the automatic skip mode to actually do the automatic skipping, because it monitors the TiVo for what's playing and sends the skip button signal when it detects a commercial break. I have this box set to reboot daily and auto-login for another reason, so my plan is to have kmttg start up at logon.

So if that's always running, then when the new scheduled task runs, won't that cause two instances of kmttg to be running? Will that second instance automatically close once it's finished scanning the NPL to find new shows for skip mode?


----------



## moyekj (Jan 24, 2006)

@BrettStah, there's 2 pieces to it:
1. In v2.2h release autoskip service can only be run from the GUI, so yes if you want autoskip service then the GUI needs to be up and running. (In next release I've added capability to run autoskip service in non GUI mode).

2. The second piece is you have to run "AutoSkip from SkipMode" for every new show that records that has SkipMode. There's 2 ways to do that. From kmttg GUI manually refresh the NPL table then use the "w" bindkey to kick off AutoSkip from SkipMode on all shows that need it. Or if you don't want to manually do it using the GUI, then you can setup a task for it as exemplified in:
kmttg / Wiki / windows_task_scheduler


----------



## billpiper (Sep 17, 2015)

Reference the windows task scheduler wiki. On the General tab, what should the "Configure For" setting be? Several Options there Windows 10, Windows 7, Windows Server 2008 R2, and Windows Vista Windows Server 2008. Mine is defaulting to Windows Vista, Windows Server 2008. Im running Windows 10


----------



## ej42137 (Feb 16, 2014)

billpiper said:


> Reference the windows task scheduler wiki. On the General tab, what should the "Configure For" setting be? Several Options there Windows 10, Windows 7, Windows Server 2008 R2, and Windows Vista Windows Server 2008. Mine is defaulting to Windows Vista, Windows Server 2008. Im running Windows 10


That option is for programs that have dependencies on a particular version of Windows; Java does not, so whatever you specify will have no effect.


----------



## mrizzo80 (Apr 17, 2012)

Enjoying the auto-skip functionality. 

I'm running into issues of it disabling itself. The status message is [TiVo name - AutoSkip - DISABLED] (not sure on the exact ordering of the info, but DISABLED is definitely in upper case and comes last.) The only way to turn it back on is to close and re-open the kmttg. There are no error entries preceding the DISABLED message. I'm not tuning to Channel 0 when this occurs.

Also, since the service needs to ping the TiVo every second or so to get the current playback timestamp, are there any potential negative side effects to that (slowing down the TiVo, etc)?


----------



## BrettStah (Nov 12, 2000)

moyekj said:


> @BrettStah, there's 2 pieces to it:
> 1. In v2.2h release autoskip service can only be run from the GUI, so yes if you want autoskip service then the GUI needs to be up and running. (In next release I've added capability to run autoskip service in non GUI mode).
> 
> 2. The second piece is you have to run "AutoSkip from SkipMode" for every new show that records that has SkipMode. There's 2 ways to do that. From kmttg GUI manually refresh the NPL table then use the "w" bindkey to kick off AutoSkip from SkipMode on all shows that need it. Or if you don't want to manually do it using the GUI, then you can setup a task for it as exemplified in:
> kmttg / Wiki / windows_task_scheduler


Thanks! So I can configure kmttg to run automatically without the GUI whenever the computer starts. Then I could use a Windows task to automatically run to the task that runs "AutoSkip from SkipMode" - then when that's done that instance of kmttg closes when the task finishes. Is that about right?

And when you have the update ready for use, will there be a scheduler built-in so that we can determine when it should scan through new NPL shows looking for SkipMode data?


----------



## moyekj (Jan 24, 2006)

BrettStah said:


> Thanks! So I can configure kmttg to run automatically without the GUI whenever the computer starts. Then I could use a Windows task to automatically run to the task that runs "AutoSkip from SkipMode" - then when that's done that instance of kmttg closes when the task finishes. Is that about right?


 Yes.



> And when you have the update ready for use, will there be a scheduler built-in so that we can determine when it should scan through new NPL shows looking for SkipMode data?


 There's no built in scheduler. That's the purpose of running the "AutoSkip From SkipMode" task on a recurring basis and at a time where it won't interfere viewing on your TiVo. Every time you run if there are new shows with SKIP data available they will be picked up.


----------



## BrettStah (Nov 12, 2000)

Ah, I understand now. Finally. 

Thanks for the awesome program!


----------



## BrettStah (Nov 12, 2000)

OK, one more question this morning... I have the scheduled task tested and working. Does running it with the -s also cause the NPL to refresh before it iterates through the list, and if not, is there a way to have it do so?


----------



## moyekj (Jan 24, 2006)

BrettStah said:


> OK, one more question this morning... I have the scheduled task tested and working. Does running it with the -s also cause the NPL to refresh before it iterates through the list, and if not, is there a way to have it do so?


 Using -s grabs fresh NPL list every time. One issue is that the TiVo itself doesn't process SKIP immediately following a recording unless you actively bring up My Shows listings, so for new recordings that don't yet have "SKIP" indicated on TiVo obviously those won't be processed in AutoSkip from SkipMode.


----------



## BrettStah (Nov 12, 2000)

Great! Once again, this is a terrific program. My plan is to schedule it at 3AM daily. We usually have enough stuff to watch that's at least one day old that we don't watch things the night it airs, so I think this will be fine for us.


----------



## Connor (Oct 13, 2002)

moyekj said:


> Using -s grabs fresh NPL list every time. One issue is that the TiVo itself doesn't process SKIP immediately following a recording unless you actively bring up My Shows listings, so for new recordings that don't yet have "SKIP" indicated on TiVo obviously those won't be processed in AutoSkip from SkipMode.


So, I have a question. If I run the -s command while I have another instance of kmmtg already running, do I have to restart the main instance or will it pickup the changes? If I don't have to restart the main instance, then I can setup some stuff to have Echo run the command for me.

2nd Question, Do we have to do anything for TiVo Mini's ?


----------



## moyekj (Jan 24, 2006)

Connor said:


> So, I have a question. If I run the -s command while I have another instance of kmmtg already running, do I have to restart the main instance or will it pickup the changes? If I don't have to restart the main instance, then I can setup some stuff to have Echo run the command for me.


 The Skip Data will be there, so if you use "z" to play in AutoSkip mode in GUI or run AutoSkip Service it will work in the GUI without any updates. However, the NPL won't show an "S" for shows added in background until you refresh the NPL list in the GUI.



> 2nd Question, Do we have to do anything for TiVo Mini's ?


 AutoSkip works fine on a Mini when playing any show that has AutoSkip data. You only run the background AutoSkip from SkipMode for non Mini series 5 or later TiVos that support SkipMode.


----------



## TivoJD (Feb 8, 2005)

Something I just noticed, the AutoSkip doesn't work in Quickmode. You have to drop out of quickmode before it will skip.


----------



## moyekj (Jan 24, 2006)

TivoJD said:


> Something I just noticed, the AutoSkip doesn't work in Quickmode. You have to drop out of quickmode before it will skip.


 Yup, that's as designed. It will only auto skip when play speed == 1. So you will note if you FF/REW into commercials it won't skip either until you return to normal play speed.


----------



## TivoJD (Feb 8, 2005)

ahh, didn't think about the FF/REW, that would be annoying!


----------



## BrettStah (Nov 12, 2000)

I can test it later but I'm curious how skip mode works when you've padded a recording (for example, SNL sometimes starts a little early so I pad that by a minute, and when there's a football game on earlier I'll pad 60 Minutes, Elementary, etc.)


----------



## mrizzo80 (Apr 17, 2012)

BrettStah said:


> I can test it later but I'm curious how skip mode works when you've padded a recording (for example, SNL sometimes starts a little early so I pad that by a minute, and when there's a football game on earlier I'll pad 60 Minutes, Elementary, etc.)


I pad 60 Minutes 30 minutes during football season. SM works fine.

ETA: forget this is the kmttg thread. AutoSkip works fine in this scenario, too.


----------



## Dan203 (Apr 17, 2000)

BrettStah said:


> I can test it later but I'm curious how skip mode works when you've padded a recording (for example, SNL sometimes starts a little early so I pad that by a minute, and when there's a football game on earlier I'll pad 60 Minutes, Elementary, etc.)


SkipMode works by aligning itself to the captions, so as long as enough the captions line up the skip points will work. It usually only fails if there is some sort of corruption that effects the captions.


----------



## moyekj (Jan 24, 2006)

v2.2i version of kmttg is now released.

Contains ability to run AutoSkip service as a background task without needing to run the kmttg GUI. Also has a fix for "AutoSkip from SkipMode - ALL" hanging up the GUI after 1st show processed.


----------



## Connor (Oct 13, 2002)

moyekj said:


> v2.2i version of kmttg is now released.
> 
> Contains ability to run AutoSkip service as a background task without needing to run the kmttg GUI. Also has a fix for "AutoSkip from SkipMode - ALL" hanging up the GUI after 1st show processed.


Works great on my Ubuntu desktop.. But when I try to run on my Raspberry Pi (No X running, using the -k all command) I get the following..

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"
Shutdown hook executing

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "Thread-0"

Running jdk-8-oracle-arm32-vfp-hflt


----------



## moyekj (Jan 24, 2006)

Whatever Java you use needs to have JavaFX. I doubt the Rasberry Pi Java has that.


----------



## Connor (Oct 13, 2002)

moyekj said:


> Whatever Java you use needs to have JavaFX. I doubt the Rasberry Pi Java has that.


I found some compiled JavaFX libs and installed them. Looks like that did it. Now the raspberry Pi is doing everything.


----------



## mrizzo80 (Apr 17, 2012)

Any idea what causes these types of errors?

*1st attempt (in a block of 6 shows using the -W command; 4 worked/2 failed/1 error log output listed below):*
Living Room: Scanning SkipMode cut points for 'Life in Pieces - Dinner Professor Steps Lesbian'

rpc Read error - Invalid Padding length: 112

rpc Auth error - null

*2nd attempt (in a block of 2 shows that previously failed above - the other failed show worked in this attempt):*
Living Room: Scanning SkipMode cut points for 'Life in Pieces - Dinner Professor Steps Lesbian'

rpc Read error - Invalid Padding length: 232

rpc Auth error - null

*3rd attempt (only 1 show it had to process; finished successfully):*
Living Room: Scanning SkipMode cut points for 'Life in Pieces - Dinner Professor Steps Lesbian'

0: start=00:00:09.809 end=00:11:04.163

1: start=00:12:56.041 end=00:16:53.211

2: start=00:21:09.268 end=00:25:44.476

3: start=00:28:13.792 end=00:30:08.573

Saving AutoSkip entry: Life in Pieces - Dinner Professor Steps Lesbian


----------



## moyekj (Jan 24, 2006)

Sounds like LAN networking issues to me because of such messages: "rpc Read error - Invalid Padding length: #"
i.e. Sounds like packets being dropped
What kind of network is between the TiVo and the kmttg host?


----------



## mrizzo80 (Apr 17, 2012)

moyekj said:


> Sounds like LAN networking issues to me because of such messages: "rpc Read error - Invalid Padding length: #"
> i.e. Sounds like packets being dropped
> What kind of network is between the TiVo and the kmttg host?


Thanks for the response.

6 year old cheap laptop with a 2.4ghz wireless N card --> newish AC router --> Roamio Plus (2.4ghz wireless N; TiVo diagnostics screen says 70% signal)

I wonder if I can run a continuous DOS ping to the TiVo like I can against a Windows machine to test for dropped packets.

I'll flip the TiVo over to my 5ghz network. It used to be setup that way but I switched it to 2.4ghz for a reason I can't remember - maybe to troubleshoot the Mini not working.


----------



## slowbiscuit (Sep 19, 2006)

Hey Kev, looks like the background AutoSkip service might not work for a Tivo after it reboots? I've got a couple of Minis that I've had to reboot for YouTube app lockups and AutoSkip no longer works after. Have to restart the background kmttg task.


----------



## moyekj (Jan 24, 2006)

slowbiscuit said:


> Hey Kev, looks like the background AutoSkip service might not work for a Tivo after it reboots? I've got a couple of Minis that I've had to reboot for YouTube app lockups and AutoSkip no longer works after. Have to restart the background kmttg task.


 Yes it makes sense, if the communication between kmttg and TiVo is interrupted too long it probably becomes a fatal error that may stop service from working for any of the TiVos. You'd have to run service in GUI mode and reboot a Mini to see what kind of errors you get - something I haven't experimented with. I have a Windows Task to run service in background mode that I just run manually at night before I start watching anything, and then just manually stop it after I'm done watching, so I don't leave the service running permanently.


----------



## BrettStah (Nov 12, 2000)

So is it possible to have kmttg automatically retry to connect to a TiVo after a network outage (let's say my router is restarted). The automatic SkipMode service is still running after that happens but it has lost contact with the TiVo, so automatic skipping doesn't work until and unless I close kmttg and reopen it. Maybe some configurable number of seconds or minutes in the config, for it to retry to connect?


----------



## moyekj (Jan 24, 2006)

For next release the handling is a little more graceful when failing to connect to a TiVo from AutoSkip service. In GUI mode the service will be disabled for that TiVo, but you can keep using GUI as normal and re-start the service manually. In batch mode the service will stop running. I didn't find a good way to keep attempting to re-establish communication with a TiVo once it stops responding.


----------



## BrettStah (Nov 12, 2000)

Ah, thanks! So something simple like retrying after X minutes doesn't work reliably? That's sort of what I was envisioning, but if it doesn't work then that's not going to be a useful option.


----------



## BrettStah (Nov 12, 2000)

What about letting us configure a script to be executed if it loses connectivity to a TiVo? Then a batch file or powershell script could be run that would end the current process running kmttg and relaunch it.


----------



## moyekj (Jan 24, 2006)

OK, I figured it out. In batch mode it will now attempt to re-connect multiple times over an extended period of time before giving up and exiting. I tested it by starting service then pulling ethernet connection from a Mini for a few minutes, and then re-connecting. Verified it was able to recover in that situation and service resumed working after plugging ethernet back in.


----------



## BrettStah (Nov 12, 2000)

moyekj said:


> OK, I figured it out. In batch mode it will now attempt to re-connect multiple times over an extended period of time before giving up and exiting. I tested it by starting service then pulling ethernet connection from a Mini for a few minutes, and then re-connecting. Verified it was able to recover in that situation and service resumed working after plugging ethernet back in.


So batch mode is what the wiki calls AUTOSKIP SERVICE EXAMPLE? The -k switch?


----------



## moyekj (Jan 24, 2006)

Yes, batch mode is using the -k switch. I've also added the same re-connect attempts to GUI mode.


----------



## BrettStah (Nov 12, 2000)

moyekj said:


> Yes, batch mode is using the -k switch. I've also added the same re-connect attempts to GUI mode.


Awesome! Thanks again...


----------



## slowbiscuit (Sep 19, 2006)

BrettStah said:


> So is it possible to have kmttg automatically retry to connect to a TiVo after a network outage (let's say my router is restarted). The automatic SkipMode service is still running after that happens but it has lost contact with the TiVo, so automatic skipping doesn't work until and unless I close kmttg and reopen it. Maybe some configurable number of seconds or minutes in the config, for it to retry to connect?


I worked around this by creating a daily task to start kmttg with the AutoSkip service option. Windows lets you create a new one and kill the old one at the same time. Working fine so far.

Oops didn't see Kevin's later replies, will have to get the new code when published and go back to the old start service at boot task.


----------



## BrettStah (Nov 12, 2000)

slowbiscuit said:


> I worked around this by creating a daily task to start kmttg with the AutoSkip service option. Windows lets you create a new one and kill the old one at the same time. Working fine so far.


I also have a daily task that has a similar end result - in my case, the task reboots my computer very early each morning, and I have kmttg start up automatically when the computer boots up... Works perfectly!

The issue would be when the network connection was lost at some point after kmttg starts, and before it launches again the next morning.


----------



## slowbiscuit (Sep 19, 2006)

Yeah getting the code to handle Tivo or network outages gracefully works much better. If only Tivo could do this for their UI...


----------



## nessie (Apr 18, 2010)

How do you get autoskip to work with just using the remote, not using kmttg?


----------



## moyekj (Jan 24, 2006)

nessie said:


> How do you get autoskip to work with just using the remote, not using kmttg?


Run AutoSkip service either from the GUI (File--AutoSkip Service--name) or in batch mode.


----------



## mrizzo80 (Apr 17, 2012)

moyekj said:


> Sounds like LAN networking issues to me because of such messages: "rpc Read error - Invalid Padding length: #"
> i.e. Sounds like packets being dropped
> What kind of network is between the TiVo and the kmttg host?


FOLLOW UP:

Thanks - I think your networking idea was on target. I switched the Roamio over to my 5ghz N network from the 2.4ghz N network and I've only had that error occur once since then. (It was fairly common before.)

Interestingly, TiVo reports similar signal strength on both WiFi networks.


----------



## moyekj (Jan 24, 2006)

v2.2k version is now released with some AutoSkip related improvements. Consult release notes Wiki for details:
kmttg / Wiki / release_notes


----------



## slowbiscuit (Sep 19, 2006)

Thanks Kev! Changed my kmttg AutoSkip task to only run at boot, hopefully it will survive all sorts of Tivo weirdness that we've seen after this crappy 20.6.3 update.


----------



## BrettStah (Nov 12, 2000)

Yeah, thanks! 

By the way, no biggie if the answer is no, but is there a command line argument that will silently perform the "Update kmttg" action? I searched the wiki and didn't see one mentioned. I was thinking it could be nice if when it starts up, if it could auto-update itself with an optional "-autoupdate" type of switch.


----------



## moyekj (Jan 24, 2006)

No, there's no batch mode to perform version update.


----------



## moyekj (Jan 24, 2006)

v2.2l version release with some improvements to "AutoSkip from SkipMode".
Consult release notes for details:
kmttg / Wiki / release_notes


----------



## BrettStah (Nov 12, 2000)

I'm getting this error on this latest update:









No problems on any prior updates, FWIW.


----------



## ej42137 (Feb 16, 2014)

BrettStah said:


> I'm getting this error on this latest update:
> 
> 
> 
> ...


I'm getting the same thing. The downloaded zip file contains:

```
<html>
 <head>
  <title>302 Found</title>
 </head>
 <body>
  <h1>302 Found</h1>
  The resource was found at <a href="https://superb-dca2.dl.sourceforge.net/project/kmttg/kmttg_v2.2l.zip">https://superb-dca2.dl.sourceforge.net/project/kmttg/kmttg_v2.2l.zip</a>;
you should be redirected automatically.


 </body>
</html>
```


----------



## moyekj (Jan 24, 2006)

Download URL fixed.


----------



## Lurker1 (Jun 4, 2004)

Would it be possible for batch "AutoSkip from SkipMode" to first check if TiVo is in Standby, and if so, put it back in Standby when finished?


----------



## moyekj (Jan 24, 2006)

Lurker1 said:


> Would it be possible for batch "AutoSkip from SkipMode" to first check if TiVo is in Standby, and if so, put it back in Standby when finished?


 There's no standby indicator via RPC that I know of.


----------



## Lurker1 (Jun 4, 2004)

moyekj said:


> There's no standby indicator via RPC that I know of.


OK, could there be any kind of option or switch for me to tell it I'd like it to Standby when finished?


----------



## Lurker1 (Jun 4, 2004)

moyekj said:


> There's no standby indicator via RPC that I know of.


On the Remote Info tab, What's On always says "idle" when in Standby. Perhaps you could go by that.


----------



## moyekj (Jan 24, 2006)

Lurker1 said:


> On the Remote Info tab, What's On always says "idle" when in Standby. Perhaps you could go by that.


 No, because if it's sitting at TiVo Central that status also says "idle" (at least if you have video/spoiler window turned off which I do).


----------



## BrettStah (Nov 12, 2000)

Yeah, I think the best approach to that issue would be to have a start-up switch that sends the standby toggle command once it's done.


----------



## moyekj (Jan 24, 2006)

I've added a "Set standby mode after batch AutoSkip from SkipMode" config option for next release.


----------



## Lurker1 (Jun 4, 2004)

moyekj said:


> I've added a "Set standby mode after batch AutoSkip from SkipMode" config option for next release.


THANK YOU!! This will solve the only problem my nightly cron job is causing.


----------



## BrettStah (Nov 12, 2000)

So I've come across a weird thing... Automatic Skipmode works great, except for 'Jeopardy!'. The green "SKIP" label shows up for them, and I can use the Channel Up remote button to initiate Skipmode manually. Any thoughts? Everything else with "SKIP" works fine, that I'm aware of.


----------



## mrizzo80 (Apr 17, 2012)

Is kmttg properly retrieving and storing the Skip Points for it? I think at that point all that's involved is it querying the TiVo every few seconds and asking "are we in a commercial? if yes, move ahead to the next timestamp."


----------



## moyekj (Jan 24, 2006)

BrettStah said:


> So I've come across a weird thing... Automatic Skipmode works great, except for 'Jeopardy!'. The green "SKIP" label shows up for them, and I can use the Channel Up remote button to initiate Skipmode manually. Any thoughts? Everything else with "SKIP" works fine, that I'm aware of.


You should run kmttg AutoSkip service in GUI mode so you can see what's happening exactly. If kmttg detects a show being played for which it has AutoSkip points it will print them out to message window before starting AutoSkip on them. Running in GUI mode is easiest way to see what or what's not happening.


----------



## BrettStah (Nov 12, 2000)

So I checked the Autoskip Table, and there's only one Jeopardy episode listed, out of (I think) 3-4 episodes on the TiVo. I'll try to watch all the episodes soon to see if one of them works with autoskip. For what it's worth, the episode that is there has a really small ContentID value:


----------



## moyekj (Jan 24, 2006)

BrettStah, my guess is the issue is that all Jeopardy episodes have identical contentId (bad TiVo/Rovi guide data). Thus when you run AutoSkip from SkipMode on 1 episode, it overrides the entry of another. Thus while it may look like all episodes have AutoSkip data (since the skip data is referenced by contentId), they don't.


----------



## BrettStah (Nov 12, 2000)

So yesterday I went ahead and watched the remaining Jeopardy episodes (autoskip worked on none of them), and then deleted all episodes and the OnePass for good measure. Then I created a new OnePass. Today, after confirming my scheduled task that runs the autoskip scan batch mode ran, I noticed that same single Jeopardy episode listed with that unusual ContentID. Other shows that I watched and deleted yesterday were pruned. So I went ahead and removed that Jeopardy episode from the AutoSkip table. Jeopardy doesn't air here for another little while, so I'll see if removing that entry (and possibly deleting/recreating the OnePass) clears up the issue once and for all.


----------



## Lurker1 (Jun 4, 2004)

moyekj said:


> I've added a "Set standby mode after batch AutoSkip from SkipMode" config option for next release.


I don't need this option any more. While waiting for you, I figured out how to send TiVo TCP commands myself. I added Standby to the end of my cron job, and it is now working just how I want it. I apologize for not investigating further before bothering you. Hopefully the option will be useful to others.

Thank you very much for adding kmttg AutoSkip Service. I had no idea how big a difference it would make in our enjoyment of TiVo. You might consider making AutoSkip more prominent in a menu of its own at the top like Auto Transfers is.


----------



## BrettStah (Nov 12, 2000)

I concur... autoskip is a bigger deal than I would have ever guessed. When watching tv while relaxing with a nice cold drink in my hand, it's so much nicer to just have the skip mode activate without any action by me, even such a minor action as pressing one button on the remote.


----------



## moyekj (Jan 24, 2006)

FWIW new kmttg version was released today which contains the standby mode request.


----------



## mrizzo80 (Apr 17, 2012)

I think the "Partially Watched" issue has returned. When kmttg grabs the Skip Points, TiVo is placing the episode in the Partially Watched sub-list in the left side of My Shows. I noticed this behavior in the 2.2L and 2.2M builds. I remember this was reported and subsequently resolved at one point - maybe back in November.

Any chance you could take a look at this sometime to see if this can be prevented? Thanks.


----------



## BrettStah (Nov 12, 2000)

mrizzo80 said:


> I think the "Partially Watched" issue has returned. When kmttg grabs the Skip Points, TiVo is placing the episode in the Partially Watched sub-list in the left side of My Shows. I noticed this behavior in the 2.2L and 2.2M builds. I remember this was reported and subsequently resolved at one point - maybe back in November.
> 
> Any chance you could take a look at this sometime to see if this can be prevented? Thanks.


I can confirm I'm seeing the same thing.


----------



## moyekj (Jan 24, 2006)

mrizzo80 said:


> I think the "Partially Watched" issue has returned. When kmttg grabs the Skip Points, TiVo is placing the episode in the Partially Watched sub-list in the left side of My Shows. I noticed this behavior in the 2.2L and 2.2M builds. I remember this was reported and subsequently resolved at one point - maybe back in November.
> 
> Any chance you could take a look at this sometime to see if this can be prevented? Thanks.


I don't usually pay attention since I don't use the 3 column view (and hence the Partially Viewed folder), but turning that on it looks like some shows that should be unwatched are a few seconds in. Shows that are truly watched have the correct pause point. So I've added some code for next release to hard reset pause point to zero if that's the initial pause point and seems to have fixed it from my limited testing so far.


----------



## moyekj (Jan 24, 2006)

Lately, seems like pretty much every time I run "AutoSkip from SkipMode" on the 1st entry after DVR has been idle for a while it is failing. After that seems like DVR "wakes up" and subsequent tries work. May be related to the Blue Spinning Circles issue of late...


----------



## moyekj (Jan 24, 2006)

Testing the pause point not at zero issue, I still get an odd program here and there thrown into the Partially Watched category after AutoSkip From SkipMode. Using 'r' bindkey in kmttg to dump all RPC information I see the following for 1 such show:
"bookmarkPosition": 0
"watchedTime": 28

For another show that doesn't show up in Partially Watched folder I see:
(no bookmarkPosition entry)
"watchedTime": 15

And yet another that doesn't show up in Partially Watched folder:
(no bookmarkPosition entry)
"watchedTime": 16

So I conclude that:
watchedTime, which I don't have any control over anyway doesn't seem to be a factor. But bookmarkPosition (which I can set) as soon as it exists and even though it has value of 0 causes show to be categorized as Partially Watched. I think this is a TiVo bug as bookmarkPosition=0 should mean not Partially Watched.

In my new code attempting a fix, at the end I explicitly set bookmarkPosition back to what starting position was, which will be 0 for anything with no pause point. That is done also after jumping in time to initial position, which is also 0. So why it works for some shows but not others I don't know...

For those having the issue can you examine offending shows with 'r' bindkey as I did above and see if you notice the same trend: bookmarkPosition present (even when 0) => categorized as Partially Watched.

EDIT TO ADD: The 1st show above when I reset pause point to 0 through TiVo and then re-run AutoSkip From SkipMode again, this time ends up fine. No bookmarkPosition and not in Partially Watched. So there's no consistency in the issue.

FURTHER EDIT: Running several more times with my code setting bookmarkPosition=0 worked every time, so I think this fix is probably as good as it's going to get. Just for grins I added to the code logging what it sets pause point to for each which may be useful data point going forwards.


----------



## moyekj (Jan 24, 2006)

New version released which contains the changes discussed a while back that MAY help with pause points at 0 position.


----------



## mrizzo80 (Apr 17, 2012)

So far so good on the Pause Point fix. I wiped out the Skip Points from 4-5 shows after downloading the new build and re-ran the job. Partially Watched list is still empty.

Thanks for troubleshooting the fix and making the update.


----------



## jdfs (Oct 21, 2002)

I just stumbled onto this thread the other day and have to complement you on implementing this in kmttg. I got it up and running in no time and it works flawlessly. If anyone worked out a way of scheduling the skip point processing at night on OS X let me know. I started trying to do it through Automator, but gave up.


----------



## Lurker1 (Jun 4, 2004)

OS X is based on Linux, right? Doesn't it have cron? That is what I use.


----------



## mrizzo80 (Apr 17, 2012)

jdfs said:


> I just stumbled onto this thread the other day and have to complement you on implementing this in kmttg. I got it up and running in no time and it works flawlessly. If anyone worked out a way of scheduling the skip point processing at night on OS X let me know. I started trying to do it through Automator, but gave up.


Would looking at how this is done in Windows help? I don't own a MAC but I assume Automator is similar to Task Scheduler.

AUTOSKIP FROM SKIPMODE EXAMPLE
kmttg / Wiki / windows_task_scheduler


----------



## Lurker1 (Jun 4, 2004)

jdfs said:


> I just stumbled onto this thread the other day and have to complement you on implementing this in kmttg. I got it up and running in no time and it works flawlessly. If anyone worked out a way of scheduling the skip point processing at night on OS X let me know. I started trying to do it through Automator, but gave up.


Perhaps this will help: Scheduling Timed Jobs


----------



## moyekj (Jan 24, 2006)

v2.2p version released with mostly AutoSkip from SkipMode related fixes:
kmttg / Wiki / release_notes


----------



## moyekj (Jan 24, 2006)

v2.2q version release with fix to "try again" for AutoSkip from SkipMode for multiple shows:
kmttg / Wiki / release_notes


----------



## global_dev (Mar 15, 2010)

jdfs said:


> I just stumbled onto this thread the other day and have to complement you on implementing this in kmttg. I got it up and running in no time and it works flawlessly. If anyone worked out a way of scheduling the skip point processing at night on OS X let me know. I started trying to do it through Automator, but gave up.


if you are still interested, i accomplished this using launchd on osx. i ended up using a gui to create the plist to run the service.


----------



## jdfs (Oct 21, 2002)

global_dev said:


> if you are still interested, i accomplished this using launchd on osx. i ended up using a gui to create the plist to run the service.


Thanks I will look into it.


----------



## global_dev (Mar 15, 2010)

the gui i used was Launched

check the help section (upper right) at that site for better instructions and background info

the plist i generated ("com.zerowidth.launched.kmttgautoskip.plist") looked like this


```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.zerowidth.launched.kmttgautoskip</string>
    <key>Program</key>
    <string>/Users/jonathan/Desktop/KMTTGautoskip.app/Contents/MacOS/KMTTG Autoskip From Skipmode</string>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>3</integer>
    </dict>
</dict>
</plist>
```
it runs an app i created ( see the <string> info above ) using Platypus (using autoskip script ( see post #10517 for the thread area that helps me resolve the windows task scheduler instructions) that runs the at 3am.

hope that helps any OSX kmttg autoskip users..

a more knowledgable OSX admin/user could do this without the 2 guis i employed using osx native apps like automator, xcode, textedit, etc... (lord knows i tried  )


----------



## moyekj (Jan 24, 2006)

v2.2r version of kmttg just released with a couple of fixes and some enhancement related to AutoSkip padding including now ability to have separate padding times for show start and end points. Consult release notes for details:
kmttg / Wiki / release_notes


----------



## Tony_T (Nov 2, 2017)

The kmttg AutoSkipService via a Terminal works great. I have tried unsuccessfully to get kmttg to work on a Raspberry Pi. I was wondering if anyone else tried kmttg on a Raspberry Pi.


----------



## BrettStah (Nov 12, 2000)

Tony_T said:


> The kmttg AutoSkipService via a Terminal works great. I have tried unsuccessfully to get kmttg to work on a Raspberry Pi. I was wondering if anyone else tried kmttg on a Raspberry Pi.


Automatic SkipMode Project Proposal


----------



## insane66613 (Nov 4, 2010)

BrettStah said:


> Automatic SkipMode Project Proposal


Does this still work with Hydra?


----------



## Tony_T (Nov 2, 2017)

BrettStah said:


> Automatic SkipMode Project Proposal


Excellent! Thanks!!
Installing JavaFX with: sudo apt-get install openjfx did the trick!
AutoSkip now running on my Raspberry Pi Zero 
(On my TiVo Bolt w/Hydra)


----------



## Tony_T (Nov 2, 2017)

…I think I found a use for one of the Bolt's USB ports
— power for the Pi Zero!


----------



## steinbch (Nov 23, 2007)

Tony_T said:


> Excellent! Thanks!!
> Installing JavaFX with: sudo apt-get install openjfx did the trick!
> AutoSkip now running on my Raspberry Pi Zero
> (On my TiVo Bolt w/Hydra)


I'm trying to install JavaFX (after installing the latest Java 8 runtime), but I'm getting a ton of errors when doing "sudo apt-get install openjfx". I followed the Java install instructions from here other than changing "111" to match "151" since that is the latest version.


----------



## Tony_T (Nov 2, 2017)

steinbch said:


> I'm trying to install JavaFX (after installing the latest Java 8 runtime), but I'm getting a ton of errors when doing "sudo apt-get install openjfx". I followed the Java install instructions from here other than changing "111" to match "151" since that is the latest version.


I had to Update my Pi with 
sudo apt-get update and 
sudo apt-get dist-upgrade before JavaFX would install.


----------



## steinbch (Nov 23, 2007)

Tony_T said:


> I had to Update my Pi with
> sudo apt-get update and
> sudo apt-get dist-upgrade before JavaFX would install.


So I just created a new SD card with Raspbian on it and tried going along with the install directions. The Java SE 8 installs successfully (grabbed the latest version from Oracle 8u152), set up the redirects and then tried to install JavaFX. It installs most of the package, but gives an error saying that it is missing the 'server' JVM and that there are dependency problems. Trying to rerun the install of JavaFX shows that there are 4 parts not fully installed.


----------



## Tony_T (Nov 2, 2017)

Did you try:
sudo apt-get update
sudo apt-get dist-upgrade
then:
sudo apt-get install openjfx

This fixed the javafx install errors I was getting.


----------



## steinbch (Nov 23, 2007)

Tony_T said:


> Did you try:
> sudo apt-get update
> sudo apt-get dist-upgrade
> then:
> ...


I tried updating/upgrading and continue to get the same error. Did you download Java 8 directly from this link on Oracle's site? I'm at a loss for what else could be the issue.


----------



## Tony_T (Nov 2, 2017)

steinbch said:


> Did you download Java 8 directly from this link on Oracle's site? I'm at a loss for what else could be the issue.


Yes. 
Linux ARM 32 Hard Float ABI
Java SE Development Kit 8u152

Run java -version to check install


----------



## steinbch (Nov 23, 2007)

Tony_T said:


> Yes.
> Linux ARM 32 Hard Float ABI
> Java SE Development Kit 8u152
> 
> Run java -version to check install


That didn't seem to do it, but found someone with a similar issue on the RPi forums. This seemed to do the trick:

sudo apt-get purge openjdk-8-jre-headless
sudo apt-get install openjdk-8-jre-headless
sudo apt-get install openjdk-8-jre​Now I was able to install JavaFX, but KMTTG crashes within 30 seconds of loading. Guessing that you may be running it from the CLI instead of GUI? (and thank you so much for your help)


----------



## Tony_T (Nov 2, 2017)

steinbch said:


> ... Guessing that you may be running it from the CLI instead of GUI? (and thank you so much for your help)


Yes. I'm running headless on a Pi Zero W accessing via SSH. I use the Pi only for AutoSkip. For OnePass backup and anything else I use the GUI (another copy) on my Mac


----------



## Tony_T (Nov 2, 2017)

Kmttg Skip Service working good on the Pi Zero. 
I've also added an SSH App to my iPhone so that I can easily start the Service (instead of running 24/7). I also set up a cron to stop the Service nightly.


----------

