1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

New program for 1 step TTG downloads, decryption, encoding - kmttg

Discussion in 'TiVo Home Media Features & TiVoToGo' started by moyekj, Mar 15, 2008.

  1. Jan 5, 2010 #1721 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    Mr. Experimentor back again.

    I know that the TiVos can only handle one TTG session at a time, so I decided to try starting another download in the foreground GUI, while another was currently active in the background Service process.

    Naturally, it failed, with some red lines in the log window about Transient problems.

    The key point here being, that kmttg actually thinks I'm smart enough to know that a background session is running, even though there is no indication in the GUI that that is the case. Now of course I can do a AutoTransfer/Service/Status to check first (I'd kind of hate to have to do that all the time), and would see that it was Running. And thus know not to do any StartJobs. Or just try it, and read the error messages. That's minimally adequate.

    OR, the GUI could have a line in the Status window, indicating that a background transfer was In Progress, even though it has no way to tell me what the progress was.

    Just a thought.

    - Tim
     
  2. Jan 5, 2010 #1722 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    While it is easy to know if the kmttg service is currently running or not from GUI there is no way currently to know if there is an active download happening from a specific TiVo. i.e. The service kmttg Java process and the GUI kmttg Java process are completely independent and cannot share information. It would probably take a pretty significant overhaul of the program to make that possible since I never designed program with that in mind.
    i.e. It's really up to you to be careful to avoid that scenario.
     
  3. Jan 5, 2010 #1723 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    moyekj commented:
    > ...there needs to be a graphical way to show current configuration for each item and that's the way I chose to implement it. <

    That's cool. I think kmttg is a great program, with loads of power and flexibility, but with just a couple rough edges on the UI. As a new user, I'm getting a few cuts from those rough edges, but I also realize you can't "baby-proof" everything. Frequently, I fall back on "RTFM", but in this case, I did read the docs. Functionally, I think it's fantastic.

    For example, upon entry to the Config form, no entry is selected, but the Add/Update/Delete buttons can still be clicked. Of course, that's an error, and if you happen to notice down in the Log window, there are red error messages there saying so. But unless an entry is selected (there's nothing to operate on), none of the buttons should be enabled in the first place. And if that's too much of a hassle to implement (I can understand), at least have popup ErrMsg boxes that users will have to see when they make a mistake. The better the UI is, the less you have to worry about describing every detail in the documentation.

    BTW, in no way would I want to diminish the capabilities of kmttg, just to have a few more rubber-baby-buggy-bumpers. But as a first-time user, I'm just trying to share my experiences where I think possibly some small (lightweight, and simple) enhancements in feedback on the UI could be elucidating, and clarify operation.

    Once a user gets some experience, and learns what corners not to bump into, there's no longer a problem. So if you like, you can simply consider these inconveniences as a small cost of entry to program use (the 'learning curve'). I realize if I'm not happy, I'm entitled to a full refund of every penny I paid for it. :)

    - Tim
     
  4. Jan 5, 2010 #1724 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    moyekj wrote:
    > While it is easy to know if the kmttg service is currently running or not from GUI there is no way currently to know if there is an active download happening from a specific TiVo. <

    Ah, yes, multiple TiVos. I hadn't thought about that.

    > It's really up to you to be careful to avoid that scenario. <

    Thanks! I can accept that.

    - Tim
     
  5. Jan 5, 2010 #1725 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    At the risk of being a PITA, and providing completely unwanted input ;)...

    as a programmer (and user), I'd suggest moving the Add, Update and Del buttons down below all the other settings in the Entry section, to make it more obvious that they apply to all of the above (and not just the item they happen to be on the same line as).

    And maintaining a ChangeFlag that gets set whenever any of the entry settings gets modified, and cleared if the Add or Update button is clicked. Then if the user clicks on OK and the ChangeFlag is still set, popup a msgbox saying "You've made changes to an Entry's settings, without clicking Add or Update. If you really want to discard them, then click Cancel instead of OK to exit".

    OR, just add a line to the Auto-Transfer Configuration Setup part of the documentation indicating the above information, and don't change the code at all. :)

    - Tim
     
  6. Jan 5, 2010 #1726 of 10412
    orangeboy

    orangeboy yes, I AM orangeboy!

    4,083
    0
    Apr 19, 2004
    East Moline, IL
    Not to intrude into your conversation, but I created a "logs" directory and an "auto" subdirectory to store archived logs. I then execute this (Windows) batch program to clear auto.log every night using Windows Task Scheduler:

    Code:
    SetLocal 
    
    Set   year=&#37;DATE:~-4%
    Set  month=0%DATE:~4,2%
    Set  month=%month:~-2%
    Set    day=0%DATE:~7,2%
    Set    day=%day:~-2%
    Set   hour=0%TIME:~0,2%
    Set   hour=%hour: =%
    Set   hour=%hour:~-2%
    Set minute=0%TIME:~3,2%
    Set minute=%minute:~-2%
    
    type "C:\Program Files\kmttg\auto.log" >"C:\Program Files\kmttg\logs\auto\auto.%year%.%month%.%day%.%hour%.%minute%.log"
    type nul > "C:\Program Files\kmttg\auto.log"
    When I want to quickly see current "auto" activity, I open a command window and use the "type" command:
    Code:
    type "C:\Program Files\kmttg\auto.log"
    If I want to look at "historic" activity, I pull up the day in question's log using notepad:
    Code:
    C:\Program Files\kmttg\logs\auto>dir
     Volume in drive C has no label.
     Volume Serial Number is 88D1-996D
    
     Directory of C:\Program Files\kmttg\logs\auto
    
    01/04/2010  11:59 PM    <DIR>          .
    01/04/2010  11:59 PM    <DIR>          ..
    12/19/2009  11:59 PM           531,520 auto.2009.12.19.23.59.log
    12/20/2009  11:59 PM           617,829 auto.2009.12.20.23.59.log
    12/21/2009  11:59 PM           561,765 auto.2009.12.21.23.59.log
    12/22/2009  11:59 PM           582,563 auto.2009.12.22.23.59.log
    12/23/2009  11:59 PM           586,534 auto.2009.12.23.23.59.log
    12/24/2009  11:59 PM           608,823 auto.2009.12.24.23.59.log
    12/25/2009  11:59 PM           636,790 auto.2009.12.25.23.59.log
    12/26/2009  11:59 PM           481,684 auto.2009.12.26.23.59.log
    12/27/2009  11:59 PM           401,441 auto.2009.12.27.23.59.log
    12/28/2009  11:59 PM           388,814 auto.2009.12.28.23.59.log
    12/29/2009  11:59 PM           492,290 auto.2009.12.29.23.59.log
    12/30/2009  11:59 PM           540,756 auto.2009.12.30.23.59.log
    12/31/2009  11:59 PM           593,156 auto.2009.12.31.23.59.log
    01/01/2010  11:59 PM           605,165 auto.2010.01.01.23.59.log
    01/02/2010  11:59 PM           661,312 auto.2010.01.02.23.59.log
    01/03/2010  11:59 PM           510,649 auto.2010.01.03.23.59.log
    01/04/2010  11:59 PM           503,765 auto.2010.01.04.23.59.log
    Having only a day's worth of log to look at makes it a bit easier seeing what's going on...
     
  7. Jan 5, 2010 #1727 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    In development code I moved the Add/Update/Del buttons below other settings to make it more obvious (though if you pay attention to toolTips I think it's pretty clear they apply to all). I also implemented a couple of your suggestions from PM messages:
    1. Config option to not show copy protected shows
    2. Display Current Transfer Rate in Mbps for "download" tasks (rate calculated using ~5 sec windows)
    3. Added more handling of special chars that can cause trouble in file naming and added Wiki entry to configuring_kmttg explaining what chars are stripped or mapped.
     
  8. Jan 5, 2010 #1728 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    > I also implemented a couple of your suggestions... <

    Wow, thanks very much. This is more than I could have asked for. Much appreciated.

    > though if you pay attention to toolTips I think it's pretty clear they apply to all <

    I went back and checked the toolTips again, and I think you're right. If you hover over items, you can get some real insight. Also, you've done an excellent job overall of making the Tips a useful documentation tool, which is frequently overlooked by many implementors (including myself, at times). I'll definitely pay more attention to them in the future.

    Thanks again.

    - Tim

    P.S. BTW, toolTips in general is an area where it's been my experience that many developers do a really poor job. Either providing nothing at all for most hoverable objects, or providing completely useless "tips" (E.g. "Clicking this button will Exit", for an Exit button.) As a result, I tend to have rather low expectations for their value in general, and am usually not "disappointed" in that regard. kmttg seems to be an exception, in providing quality toolTips.
     
  9. Jan 5, 2010 #1729 of 10412
    buddhawood

    buddhawood New Member

    493
    0
    Oct 9, 2000
    Anderson,...
    I just upgraded from 7b to 7g but in 7g it will not find all my Tivos like it did in 7b. I try to add them manualy but they disappear the next time I start the program. Am I doing something wrong?
     
  10. Jan 6, 2010 #1730 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    Nothing changed related to TiVo detection using Bonjour between 7b and 7g. Probably if you revert back to 7b the problem will be there too and it is probably network related with Bonjour discovery not working. I just confirmed using 7g that if I manually edit config.ini and intentionally set wrong IP for a TiVo that kmttg detects and corrects the IP automatically, so for me it's still working fine.

    The best solution is to have your router configured for static DHCP such that TiVos on your network never change IP assignments. That way you can add them once to kmttg and then disable Look for Tivos on network and then you don't have to rely on Bonjour discovery anymore.
     
  11. Jan 6, 2010 #1731 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    OK. Quick question.

    If I initiate AutoTransfers using the RunInGUI option, it processed all the specified items in the list, and then stopped. It's not processing anything new that was recorded in the last 12 hours, though when I clicked RunInGUI again, it started.

    Am I correct that in this mode, it won't go back automatically and refresh its list, using the CheckTivosInterval setting (which is set to 30 mins), and continue to TTG new arrivals? Or am I doing something else incorrectly?

    - Tim
     
  12. Jan 6, 2010 #1732 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    That's right, Run in GUI only does 1 pass. Service mode loops.
     
  13. Jan 6, 2010 #1733 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    Thanks. So that menu item would be more accurately titled: "Run Once In GUI".

    Is there a reason why a looping option isn't available in the GUI, or did it just evolve that way? As it is, if I want to be able to monitor the TTG status (which I suppose isn't really necessary, though I've become accustomed to doing so in TD), I have to retrigger it manually, a least once a day.

    It wouldn't necessarily have to continuously monitor for new arrivals while downloads were already in progress, but if when it finished it then did a Refresh and checked to see if here were more items and added them to the queue (using the AutoTransfer filter settings), that seems like it could be useful. If there were no new downloads at that time, then the Check Interval could come into play, and trigger another Refresh periodically.

    But there may be reasons I'm unaware of that make that undesirable in some way. Since this would essentially be a new mode, you might want an Enable button on the main panel to turn it off again. Or just a check mark on the Run In GUI menu item (i.e., a toggle) to disable it on the next cycle.

    - Tim
     
  14. Jan 6, 2010 #1734 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    Run in GUI was mostly developed as a way to visually/easily check auto transfer setup. You normally don't want things happening automatically in an endless loop in GUI mode interfering with any manual tasks you are trying to accomplish. The service mode is a better fit for automation and the auto.log file contains a log of all activity along with timestamps. Once you have confirmed everything is working as expected in GUI mode why not take advantage of service mode to run things in background?
     
  15. Jan 6, 2010 #1735 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    > Once you have confirmed everything is working as expected in GUI mode why not take advantage of service mode to run things in background? <

    Thanks. I'll probably do just that. It's just that old habits die hard, and I've been doing things a certain way for several years. ;) Operating "blind", as it were, feels a bit strange to me. I suspect I'll get used to it. And having the Log means I can find out in detail what's been going on, and when.

    I'm trying to think of some situation where this would be limiting, and the only thing I can come up with at the moment is if I wanted to prioritize a certain item, to essentially move it to the head of the queue. Instead of waiting until everything else ahead of it had finally finished. (Sometimes there are problems with a specific recording, and there may be a limited time-window to grab another airing.)

    - Tim
     
  16. Jan 6, 2010 #1736 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    > Run in GUI was mostly developed as a way to visually/easily check auto transfer setup. <

    In retrospect, that's the impression I got.

    > You normally don't want things happening automatically in an endless loop in GUI mode interfering with any manual tasks you are trying to accomplish. <

    Does this have to be the case? I.e., even though automated things are happening, that doesn't necessarily mean they interfere with interactive user activities. There's a list of items queued for transfer, which the user can see and potentially adjust. Periodically, that list gets augmented by the Watcher loop, which refreshes and appends items on its own. The only time the user wouldn't be in "full control" would be for a few seconds while that update process was in progress.

    Sorry if I'm just kind of thinking out loud here.

    - Tim
     
  17. Jan 6, 2010 #1737 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    I don't see how it would not interfere, especially if you are only working with 1 TiVo. Let's say I'm getting ready in GUI mode to select a show to process that I want right away. Before I have a chance to submit the job auto transfers kicks in and adds a bunch of jobs to process ahead of what I wanted to do, so now I have to wait until other downloads complete before my download will start (or kill off all the other running and queued jobs 1st).
    For more than 1 TiVo if you restrict Auto Transfers setup to work off 1 TiVo while you use the GUI for grabbing stuff from another TiVo then I could see that being more useful (since kmttg runs download tasks for different TiVos in parallel), but it would still be annoying to me to have other jobs at top of job queue I didn't necessarily want there. As it is now at least I can control when to kick off Run in GUI to do it if/when ready.
     
  18. Jan 7, 2010 #1738 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    moyekj commented:
    > I don't see how it would not interfere, especially if you are only working with 1 TiVo <

    I'm sure you're correct, if for no other reason that you've been using it for an infinitely longer period than I have. (And I am working with only a single TiVo.) I was just looking for some way I might be able to blend the capabilities of the 2 modes: interactive and batch, in a way that let me get the benefits of both. But with minimal and transparent changes to the kmttg GUI.

    E.g., something like a Hold button, that I could click when I'm there and possibly making changes, etc. manually. That would preempt it from taking any actions I might need to undo. When I finish, before walking away for possibly quite a while, I release the Hold button, and it continues on in an automated fashion. But I can return at any time and see exactly where I'm at, and make any changes I'd like.

    (Just as an FYI, I've had the kmttg GUI running 24/7, since I installed it at 9am on the 2nd, and transferring files most of that time.)

    - Tim

    P.S. Hopefully I'm not straining your patience here, but if so, let me know and I'll stop being an annoyance. :) Thanks for all the explanations and help.
     
  19. Jan 9, 2010 #1739 of 10412
    sender_name

    sender_name I remember XM 202!

    227
    0
    Feb 11, 2005
    Northboro Ma
    Hello all, first time try here...I was looking for a program to cut the commercials from the dozens of saved childrens shows and then send them back to the tivo without commercials, and yet have them be the exact same in every other way...Title, dates, folders etc.
    I believe this program does this...tinkering now...
     
  20. Jan 9, 2010 #1740 of 10412
    rjh

    rjh New Member

    3
    0
    May 4, 2009
    When I do a pyTivo push I get the following error message:
    Connection failed: http: //localhost:9032/TiVoConnect?Command=Push&Container=Tivo+Downloads&File=FILE.mp4&tsn=MYTSN[/url]
    java.net.SocketTimeoutException: Read timed out

    But the file actually pushes OK. I had a look at push.java and http_timeout is set to 10 seconds. When I manually do a push in the browser it takes about 35-40 seconds to get any response. I'm not sure if this is because I'm in Australia and we use a different mind server than the US server which could make it slower.

    Is it possible to extend http_timeout so the logs reflect whether the push was successful?

    Thanks,

    Richard
     

Share This Page