Closed mackworth closed 5 years ago
3.2 beta 1 and alpha 13 can't find my Tivo, though the previous 3.1.2 still works. What info do you need, or what more should I try. Is 3.2 supported with the original Tivo HD model?
So if you set the Debug level to Verbose, quit and start it again, let it sit, then quit and do it again with 3.1.2, then help>show logs in finder, and attach the log to a comment here (don’t attach to an email; that doesn’t work ).
HD should still be fine, although many of the newer features won’t work
Log didn't show much, even when set to verbose. Attached both 3.1.2 log and 3.2 beta 1 log.
com.cTiVo.cTiVo 2018-10-11 04-14.log com.cTiVo.cTiVo 2018-10-11--04-14-02-261.log
New cTiVo user (why did I not know about this app?! I only discovered it because you posted on a Sparkle ticket!). A few issues, one functional, one cosmetic:
(Note: to be clear, if I do start processing, the "SkipData" column does get "cSKIP" but I am referring to use of the TiVo's SkipMode data.)
So the first two (Play Video and Reveal in Finder) are only enabled after the video is downloaded, so that's not surprising. The rest (and the SkipData column) suggests that it's not connecting over the RPC channel. Not sure why that would be if the same TiVo connects with kmttg. Can you set the log to Detail, quit and restart, and then post the log (Help>ShowLogs)?
The second one, thank you; I was able to reproduce: Open cTivo; make window narrow; Cmd-Comma, Close, make window wide, Edit>EditChannel I have a fix for the next beta.
Thanks to the big image for the contextual image, I also note the typo in SkiipMode!
So the first two (Play Video and Reveal in Finder) are only enabled after the video is downloaded, so that's not surprising. The rest (and the SkipData column) suggests that it's not connecting over the RPC channel. Not sure why that would be if the same TiVo connects with kmttg.
You (inadvertently?) seem to have identified at least one issue. If I quit kmttg prior to starting cTiVo it seems to work. I now get green-on-white "SKIP"s showing up in the table, but I still can't get it to process correctly. It just sits there now "Waiting for SkipMode". Log attached. com.cTiVo.cTiVo 2018-10-20--14-09-40-194.log
So, yes, running two programs talking to the TiVo at the same is a "bad idea"™
Green on white means "SkipMode breakpoints are available on your TiVo, but have to be retrieved by cTiVo, either manually or automatically."
See the help file (the ? in Preferences), but here's the key part:
The only way to get the SkipMode breakpoints is for cTiVo to literally play the video and jump to each segment to find where it starts, thus disrupting viewing on the TiVo for 10-20 seconds per show
When SkipMode breakpoints become available, they can be automatically retrieved for shows in the Download Queue. If the SkipMode breakpoints aren't available when needed, the download will pause until they become available or until the four-hour wait time expires. To avoid interrupting your viewing, you can schedule a range of times in Preferences that's acceptable for cTiVo to take over your TiVo (see “Auto SkipMode Restricted to” in Preferences>General). Furthermore, in Automatic mode, cTiVo will only retrieve SkipMode breakpoints when your TiVo is playing Live-TV (as that's the default mode for an idle TiVo). cTiVo will not interrupt a show being played back or streamed,
If you prefer not to have cTiVo retrieve automatically, you can disable Auto SkipMode, and the breakpoints can be retrieved manually by selecting a Show or Download and selecting "Get SkipMode from TiVo" from the cTiVo menus (either TiVo menu or right-click contextual menu).
Thanks, I had read the documentation but misunderstood what the four-hour wait time meant — thought it only referred to automatically started rather than manually started downloads. Once I got it to work, whatever magic you're doing gave me a video with trimmed commercials and no A/V sync issues; this has never worked reliably in kmttg.
Last thing (I hope) — what does it mean when a checkmark appears in the "Que'd" column? The documentation says "Whether this show is currently in the download table", but I'm seeing a checkmark next to many shows that aren't in that table.
That's exactly what it's supposed to mean, and that's very odd. Where those shows previously in the queue? Does it stay the same when you quit and come back in?
BTW, I meant it above about "thank you". Not enough people bother to report anomalies like these, and I really like getting them right.
Thanks for the attention to detail — it's much appreciated.
No they weren't previously in the queue. They did initially persist across a quit/restart of cTiVo yesterday, but I just tried again (after a few shows were downloaded overnight) and now they are gone. If this happens again I'll let you know!
One more: I have the "Commercials" section of Preferences configured this way:
Commercials are being appropriately cut using SkipMode data, but I'm also seeing shows with no SkipMode data getting cut, rather than marked. This is less of an issue as "cut" has continued to be more reliable than I'm used to, but I'm wondering if something is not working properly? The "Cut" and "Mark" checkboxes are mutually exclusive, though in this case both are intended depending on the situation.
You’re correct; that shouldn’t happen. Allowing that combination was a late change in my SkipMode handling, so not terribly surprised there might be a glitch.
After walking through the state machine, I was able to recreate. My assumption is that you've got a manual download (v subscription) that is past the SkipMode deadline. So when you hit Download, it enters it in the queue with the current defaults (SkipMode and Cut) and New status, but then it checks its state and says "I'm not going to wait for SkipMode" and turns that off. But because it's in a New state (as opposed to Waiting for SkipMode), it leaves it in a Cut mode. While I have to leave the scenario where the user chooses comskip - Cut for this particular download (by turning off SkipMode and then turning on Cut), but it's set for the next beta. If you see it thereafter, let me know.
And we have beta 2 available now.
You were correct in your assumption that it was a manual download, not a subscription.
Beta 2 correctly marks rather than skips the commercials…but something about the chapters causes QuickTime Player (on 10.14) to crash when I try to use the chapter popup. Everything works fine in VLC — the chapters are named “Commercial 1”, "(show name) 1”, etc. Have you ever seen this before?
The sheet positioning issue is almost fixed — it "jumps" so it starts at the top of the title bar rather than at the bottom where it belongs.
Yes, I’ve filed a bug report on Mojave on the QuickTime crash (new since High Sierra), and Apple reported back “Duplicate bug report”, so they are at least aware.of it.
Glad to hear the marking is working for you.
I’m not seeing that glitch you describe. Can you give steps to recreate and/or a screen video? (Cmd-Shift-5 in Mojave).
So testing out the Beta on some shows form last night that definitely have Skip enabled. And I can see the SKIP icon for the shows in cTivo. But when I "Get SkipMode from Tivo," a slash shows on the 3 shows I'm trying that definitely have it. I've also tried to Reload All Info to try to retrieve the SkipMode markers again but no luck.
Thanks for writing. It is surprising that you have such a high percentage of failures.
There are several reasons a SkipInfo retrieval can fail. To diagnose, first play the show itself on your TiVo, and see if you can actually jump reliably from one commercial block to the next and back again. Sometimes although marked as having SkipMode, the actual Skip Info is limited to a single start and end point, or even alternatively dozens of them at the wrong places, and cTiVo does some sanity checking to avoid generating bad cut info.
Secondly, check if the show is clipped at either the beginning or end, either due to a recording started manually part way into a show, or even the station playing it at slightly the wrong time. if so, there's no way to properly sync the SkipMode information with the actual show.
Finally (and unlikely), if someone watching the TiVo interferes with the UI while cTiVo is "playing" the show, then things will get confused. I say "unlikely", as cTiVo will then try up to three times to get the data, so the viewer would need to keep fighting the movements with their remote for a long time. BTW, after these three attempts, trying again manually will probably never succeed when the automatic one failed.
On the other hand, if none of those seem to be the case, you can set the Debug level of TiVoRPC to Detail (in Preferences>Advanced), then do a manual Get SkipMode (first do a "Reload All Info" to clear the Error status, as you did). Then you can post the log (Help>Show Logs in Finder), or open in Console and copy/paste just the bit since the SkipMode. Then I can tell you exactly what went wrong here.
Do let me know what you find, as this is a question I should obviously add to the FAQ.
As always, thank YOU for putting your time & energy into this project. I figured this was not normal so best to report the anomalies! I've watched all those shows already and yes, Skip forward and backwards works on all the shows for actual commercials.
What I've seen recently though is that the scheduled recording starts on time, but it's still the end of in commercial for the previous show so there is a SKIP marker there to jump 30 sec or a min to the actual start of the scheduled recording. Previously, there was no skip marker at the beginning of the recording. I don't know if this affects the sync at all. No one was watching TV when I tried to to this.
I added in another episode form another show I hadn't gotten info on yet to see if there was anything different about it than the others. But The Magicians episode came up with the same problem. Do you think having a Roamio vs a Bolt might be a factor?
Glad to hear the marking is working for you. I’m not seeing that glitch you describe. Can you give steps to recreate and/or a screen video? (Cmd-Shift-5 in Mojave).
Sure, here's a link to a video: https://sabi.net/temp/TiVos%20then%20channels.mov — you can see one example of it working properly (same tab), then the sheet appearing in the wrong place (different tab).
@heyneenz So, that's not good. The log you sent shows it getting the skip info for Dr Who. To do so, it jumps to the end at 58:52, then does the key sequence:
Reverse, <1 second>, Play, ChannelDown, Pause
, and then finds itself at the very beginning, just 1 second into the show.
So if you play that show, go to the very end and do that sequence, you find yourself right after at the last commercial break?
If that's true, my guess is that there's a timing issue, that one of those commands fails to wait long enough Let me know; maybe I need to give you a very slow version and see if that works.
By reverse do you mean the jump back 8 seconds or the <<? Either way, it brings me back to the last commercial break before the final act of the show, yes.
So, to diagnose, I’ll have to do some custom versions. Are you willing to run a few and send me the logs? If so, let’s switch to email.
@nriley Thank you; I see the problem. This is harder than it should be... Here's an interim version (Version 3.2.0 beta2 (982) that should be ok now
@nriley Thank you; I see the problem. This is harder than it should be... Here's an interim version (Version 3.2.0 beta2 (982) that should be ok now https://www.dropbox.com/s/fhexkvxpk6ux5ll/cTiVo.app.zip?dl=0
Looks good. Thanks!
Version 3.2.0 beta 2 I've got three episodes of Black Lightning that cTiVo just won't download. I've included a verbose log of one attempt to see if you can tell what's wrong. There are a couple of other individual shows that seems to have the same trouble.
P.S. On a side note, I have the "dark theme" on and the dialog boxes that pop up are REALLY hard to read. Is it possible to change the font color to something brighter?
Actually, it looks like I have a network issue at the moment. I'll test some more and get back to you.
@mrfusiontm On the dark mode, can you be more specific and/or post a screen shot of where dark mode is a problem? I don't use it normally, but I did for a few weeks and didn't find any more problems.
Overall, things are working, but I'm having to give them a nudge. Biggest problem I'm having right now is with shows that have SkipMode data. Even when I wait longer than 4 hours, and even when I disabled both the download and SkipMode retrieval time windows in Preferences, shows continue in "Waiting for SkipMode" even though they show the green on white SKIP icon indicating skip data is available. (I am not seeing the slash icon posted above.)
When does the 4 hour "timer" start — from the air time or from the time when SkipMode data is available? I'm usually checking, say, at about 6 AM the next day for a show that aired at 7 or 8 PM. Once I manually fetch the SkipMode data, everything continues as expected.
So, this is where this gets so annoying. There are so many steps involved that it gets very confusing, and I'm still not explaining it right.
Step 1 is the TiVo getting the info from corporate Step 2 is cTiVo then retrieving it from your TiVo (which TiVo has not made possible without interrupting your viewing).
With regard to Step 1, we don't know for any given show whether SkipInfo will arrive to your TiVo or not (although a subscription can specify with or without SkipInfo). To be fully automated, there has to be a point at which we decide "no, it's not coming; proceed with the download with whatever strategy has been specified". Experimentally, I found almost all SkipInfo to arrive with four hours of the end of the show. That's the four-hour timer part. After that times out and the info hasn't arrived at your TiVo, cTiVo will just proceed without it. So that's not your case here, where you're seeing the green on white icon.
However, if it does arrive in that window, Step 2 then has to happen. cTIVo will wait forever if necessary for this to occur, as the info is there, we just need to bring it over. Bringing it over can be either manual or automatic. To be automatic, all the following have to be true:
In answering this question, I realize now that the Pref screen is confusing and very different from the download queue. To be automatic, the checkbox needs to be enabled, but you could then set the window for all day (12:00AM to 11:59PM for example). Clearly, I need to reword, either just adding a ; so☐ Auto SkipMode; Restricted to:
... Or even putting them on separate lines.
Anyone who'd like to take a cut at better explaining this in the help file would be appreciated.
Yes, it's incredibly confusing that the "Auto SkipMode Restricted to" and "Download Queue Restricted to" checkboxes are identically worded if they behave the way you describe — i.e., Auto SkipMode is not on at all unless the box is checked. Perhaps you actually need two checkboxes — to turn on Auto SkipMode and one to set time restrictions.
However, cTiVo is still failing to get SkipMode data with the checkbox checked (time window 2 AM to 7 AM, which should include 4 hours from the above show times). So it's possible it's not being retrieved for one of the other reasons — how can I figure out which one?
Ok, not sure why cTivo suddenly can't seem to connect to my TiVo. It appears to keep timing out.
com.cTiVo.cTiVo 2018-10-25--23-34-35-876.log
Also, here's a screen shot of the dialog box in dark mode that's very difficult to read.
Ah, yes. That's the RTF help files, which are indeed broken. Will fix.
@nriley Well, there's supposed to be warning messages that pop up: either "you need to either turn on Auto or do a manual skipMode" OR "that you just missed the skipmode window, so it'll be tomorrow's window", but those aren't coming up for some reason, so I'll need to figure out why. And there should be an easy second answer: look at the logs, but when I look at the code, I see several paths that are not indeed logged, so I'll have to add those as well as promoting the following to Major.
If you have TiVoManager>Detail logging on, then it will say "Waiting for TiVo UI to be available" in the last case. If you have TiVo detail logging on, then you should see "No need for SkipMode data" with various reasons.
And if you'd like me to take a look, just turn on detail logging and I'll see what I can find.
I turned on the detailed logging as you suggested. I seem to be seeing the latter case.
2018-10-26 09:45:55:795 -[MTTiVoManager observeValueForKeyPath:ofObject:change:context:]@844>Setting SkipMode end time to 2018-10-21 14:00:00 +0000
2018-10-26 09:45:55:795 -[MTTiVoManager scheduleNextSkipModeIncludingNow:]@772>Will run SkipMode Scan in 15 seconds
2018-10-26 09:45:55:795 -[MTTiVoManager observeValueForKeyPath:ofObject:change:context:]@844>Setting SkipMode end time to 2018-10-21 14:00:00 +0000
2018-10-26 09:45:55:795 -[MTTiVoManager scheduleNextSkipModeIncludingNow:]@772>Will run SkipMode Scan in 15 seconds
2018-10-26 09:46:10:795 -[MTTiVoManager skipModeForAllActiveDownloads]@965>Scanning all active downloads for SkipMode
2018-10-26 09:46:10:796 -[MTTiVoManager scheduleNextSkipModeIncludingNow:]@775>Will run SkipMode in 58430.000000 seconds (16.230556 hours), due to skipDate of 2018-10-21 06:00:00 +0000
2018-10-26 09:46:11:845 -[MTTiVo findCommercialsNoInterrupt]_block_invoke@650>Waiting for TiVo UI to be available
In my case I don't care whether a show is currently being played back ("The TiVo is not currently playing a recording nor streaming a video"); I know nobody is watching the TiVo in the middle of the night and it's not going to interrupt anything important. Could you please allow retrieval of SkipMode data in this case?
So that's exactly the point, it knows what's showing on the TiVo, and it seems to be reporting that someone is watching at that moment. Maybe your TiVo is reporting a different state than I have seen. To fix this, I'd like to see what the TiVo is reporting there. You'll need to turn on RPCData to Detail and search for "sent what'sOnSearch"; it should give the JSON of what's happening at that moment.
Makes sense. Of course, it worked for the first time last night! I'll increase the debug level as you suggest (TivoRPC = RPCData?) and keep watching.
Several days later with logging turned on, all the scheduled SkipMode retrievals have been working properly. Maybe I'll never reproduce the problem at this rate...
However, I found a new issue.
I switched back to kmttg briefly to remotely restart a TiVo yesterday as it was periodically dropping off the network. This happened during a scheduled recording (and cTiVo subscription), which caused the TiVo to split it into two pieces since it couldn't be recording while it was restarting. cTiVo only automatically downloaded/converted the first portion (3 minutes), not the remainder (24 minutes).
I realize this is a pretty uncommon case and when compared to the other issues, much lower priority. It might be worth just documenting rather than fixing, as a manual download worked just fine!
Well, hopefully it was just a transient problem. (And I missed your question, yes on the TiVoRPC, not RPCData.)
And, yes, that’s not surprising. To properly handle subscriptions across restarts and multiple TiVos, it remembers which specific shows have been recorded on each subscription, and so will therefore only record one of any show that matches, even if it appears twice (e.g. on two TiVos, which is a good result, or in two chunks, an unintended result).
Thanks, that makes sense about the partial recordings — had not thought about multiple TiVos being connected at once.
I was able to reproduce my prior "SkipMode never runs" issue as well as another issue. I have SkipMode auto-fetch enabled between 2 AM and 8 AM. This morning, I found two shows showing as "Waiting for SkipMode". One looked like before, but one looks like this:
This seems very strange to me — skip data is available but cTiVo is still waiting for SkipMode?
For the other show which was waiting for SkipMode I ended up manually triggering retrieval this morning, which worked fine as usual.
I've got today's log file with everything enabled, but it's on the big side (460 KB). This is what I see starting at 2 AM:
2018-11-01 02:00:00:092 -[MTTiVoManager skipModeForAllActiveDownloads]@965>Scanning all active downloads for SkipMode
2018-11-01 02:00:00:092 -[MTTivoRPC whatsOnSearchWithCompletion:]@1178>Asking What's on:
2018-11-01 02:00:00:093 -[MTTivoRPC sendRpcRequest:monitor:withData:completionHandler:]@636>Sending RPC #161, whatsOnSearch
2018-11-01 02:00:00:093 -[MTTiVoManager scheduleNextSkipModeIncludingNow:]@775>Will run SkipMode in 86400.000000 seconds (24.000000 hours), due to skipDate of 2018-10-21 06:00:00 +0000
2018-11-01 02:00:00:099 -[MTTivoRPC stream:handleEvent:]@548>inStream Failed read==> closed connection? 0: (null)
2018-11-01 02:00:00:099 -[MTTivoRPC tearDownStreams]@367>Tearing down streams for Living Room TiVo
2018-11-01 02:00:00:099 -[MTTivoRPC checkStreamStatus]@326>Stream failed, but reachable: (null) (failure #0); Trying again in 10 seconds
2018-11-01 02:00:10:100 +[MTTivoRPC myCerts]@140>Unlocking RPC keychain again
2018-11-01 02:00:10:103 -[MTTivoRPC launchServer]@289>Launching RPC streams for Living Room TiVo
2018-11-01 02:00:10:105 -[MTTivoRPC stream:handleEvent:]@512>Stream opened for inStream
2018-11-01 02:00:10:105 -[MTTivoRPC stream:handleEvent:]@512>Stream opened for outStream
2018-11-01 02:00:10:105 -[MTTivoRPC authenticate]@652>Calling Authenticate
2018-11-01 02:00:10:105 -[MTTivoRPC sendRpcRequest:monitor:withData:completionHandler:]@636>Sending RPC #162, bodyAuthenticate
2018-11-01 02:00:10:316 -[MTTivoRPC parseResponse:]@462>Final for 162; 0 still active
2018-11-01 02:00:10:316 -[MTTivoRPC authenticate]_block_invoke@680>Authenticated
2018-11-01 02:00:10:316 -[MTTivoRPC getAllShows]@734>Calling GetAllShows
2018-11-01 02:00:10:316 -[MTTivoRPC channelListWithCompletion:]@1131>Asking what channels exist:
2018-11-01 02:00:10:316 -[MTTivoRPC sendRpcRequest:monitor:withData:completionHandler:]@636>Sending RPC #163, channelSearch
2018-11-01 02:00:10:316 -[MTTivoRPC sendRpcRequest:monitor:withData:completionHandler:]@636>Sending RPC #164, recordingFolderItemSearch
2018-11-01 02:00:10:395 -[MTTivoRPC parseResponse:]@464>Not final for 164
2018-11-01 02:00:10:396 -[MTTivoRPC getAllShows]_block_invoke@756>Got 256 shows from TiVo: (
204069,
Does that help? Do you need more?
Yes, I'll want to see what happens next, so go ahead and post the whole log as an attachment to a comment on the website. (not via email, for some reason github strips those out).
Agreed, no reason it should ever be waiting if skipmode data already's been loaded. It's interesting that your symptoms occurred after cTiVo's RPC connection had failed and needed to be re-established. I wonder if the state machine check might not happen in that case. That could explain both symptoms. BTW, I notice from this clip that I left a test line in: it's unnecessary to reload channel list every time one reconnects to the server ("ChannelListWithCompletion"), so thank you for that.
OK, log attached. com.cTiVo.cTiVo 2018-11-01--04-00-03-762.log
Also, consistent with your hunch about the check not happening: I quit and restarted cTiVo this morning and the "Waiting for SkipMode" show with SkipMode data already present immediately started downloading.
Looks like segments arrived the night before. Do you still have 10/31 log? If you have 10/30, send it too as that’s the one that was still waiting on 11/1. Were all three Jeopardy?
(Probably easiest to just compress whole log folder and post as zip file.)
They weren't all Jeopardy! though most were, and sometimes I would trigger a manual SkipMode download. However, as I attach this log folder, the 11/2 Jeopardy! is still marked as "Waiting for SkipMode". cTiVo.zip
Log didn't show much, even when set to verbose. Attached both 3.1.2 log and 3.2 beta 1 log.
Still can't find my Tivo in 3.1 beta 2. I did notice though that if I change the log from verbose to something else (like "major") I get more in the log. Added those logs.
com.cTiVo.cTiVo 2018-11-17 16-25.log com.cTiVo.cTiVo 2018-11-17--16-28-33-389.log
An update — overall "Waiting for SkipMode" seems to be happening less frequently than it did in my first few weeks; I only had one epsiode of Jeopardy! get stuck over the past couple weeks of recordings. I did find one episode where it seems the skip retrieval might have been wrong (or maybe the underlying skip data?) as parts of the program were being cut off. If I see this again I'll try to reproduce.
I've not seen any more incorrect cuts from SkipMode. However, I am still seeing pretty consistent "Waiting for SkipMode" for days.
Logs attached (with "TiVo", "TiVoManager" and "TiVoRPC" set to "Detail"); let me know if there's anything else you need.
So for those following along here, there's a beta3 release available now...
so, @nriley, what the log shows is that your TiVo is reporting being in "idle" mode the entire time from 2AM to 8AM, which I assume is the window you've set for SkipMode. "Idle" is the term used when the TiVo is either showing its menus OR in streaming mode. cTiVo won't interrupt for auto-SkipMode during "idle" mode. Normally, if it's in menus, that will time out after a few minutes, but it is actually possible to remain in streaming mode all night. (e.g. Autoplay from one show to the next).
So, any chance you're leaving it sitting in Netflix or prime? If not, any chance you could check and see what it's actually doing during that period.
I don't think so, but I'll have to confirm; it's all live TV or DVR viewing. Unfortunately I'm managing this remotely, but as of the 27th I'll have physical access to the TiVo in question for a few days and can try to reproduce it.
Now I'm on site, I discovered a misbehaving HDMI switcher to which the TiVo is attached. I am getting a replacement unit tomorrow and will see if the problem is still happening after that.
A topic to discuss any 3.2.0 beta issues...