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. Aug 19, 2012 #4241 of 10412
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    That is, of course, deliberate.

    Obviously, and in that case the show would be gone from both the Tivo and the server.
     
  2. Aug 19, 2012 #4242 of 10412
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    See above. Adding anything non-permanent to the file name would seriously muck up my processing scripts. As I said, for the six or seven pairs of remaining two part, identically named episodes, I'll just have to handle it manually.
     
  3. Aug 19, 2012 #4243 of 10412
    lpwcomp

    lpwcomp Active Member

    8,080
    2
    May 6, 2002
    John's...
    The bottom line for this particular sub-thread is that kmttg behaved properly.
     
  4. Aug 19, 2012 #4244 of 10412
    terrio

    terrio New Member

    2
    0
    Feb 13, 2009
    I have just downloaded and installed kmttg on my Mac Mini, running OS 10.8. It successfully downloaded the additional tools and allowed me to set my MAK code. But every time I try to run it, I get the following JAVA error message in the kmttg window:

    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1937)
    at javax.jmdns.impl.JmDNSImpl.toUnqualifiedName(JmDNSImpl.java:1461)
    at javax.jmdns.impl.JmDNSImpl.updateRecord(JmDNSImpl.java:933)
    at javax.jmdns.impl.JmDNSImpl.handleResponse(JmDNSImpl.java:1025)
    at javax.jmdns.impl.SocketListener.run(SocketListener.java:68)
    at java.lang.Thread.run(Thread.java:680)


    Any suggestions? I would really like to be able to use this; it looks awesome....
     
  5. Aug 20, 2012 #4245 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    There's no kmttg code being shown in the stack trace so doesn't pinpoint the problem. However it looks to be Bonjour related issue so you can try switching to TiVo Beacon instead:
    File-Configure-TiVo-Detect with TiVo Beacon instead of Bonjour

    Alternatively you can just turn off TiVo detection completely and manually specify TiVo IP & name:
    Disable "Look for Tivos on network"
     
  6. Aug 20, 2012 #4246 of 10412
    terrio

    terrio New Member

    2
    0
    Feb 13, 2009
    "Detect with TiVo Beacon instead of Bonjour" did the trick, thanks!
     
  7. Aug 20, 2012 #4247 of 10412
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    Well, yes, of course, or at east as expected. I never said it didn't.
     
  8. Aug 21, 2012 #4248 of 10412
    mattack

    mattack Active Member

    20,734
    4
    Apr 9, 2001
    sunnyvale
    With visual set to "Mac OS X" in the preferences, when I first try to bring up configuration, I get:


    java.lang.NullPointerException
    at apple.laf.CUIAquaComboBox$1.itemStateChanged(CUIAquaComboBox.java:76)
    at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1162)
    at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1219)
    at javax.swing.JComboBox.contentsChanged(JComboBox.java:1266)
    at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100)
    at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88)
    at javax.swing.JComboBox.setSelectedItem(JComboBox.java:551)
    at com.tivo.kmttg.gui.configMain.read(configMain.java:763)
    at com.tivo.kmttg.gui.configMain.display(configMain.java:144)
    at com.tivo.kmttg.gui.gui$21.actionPerformed(gui.java:834)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1050)
    at apple.laf.CUIAquaMenuItem.doClick(CUIAquaMenuItem.java:119)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1091)
    at java.awt.Component.processMouseEvent(Component.java:5617)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3129)
    at java.awt.Component.processEvent(Component.java:5382)
    at java.awt.Container.processEvent(Container.java:2010)
    at java.awt.Component.dispatchEventImpl(Component.java:4083)
    at java.awt.Container.dispatchEventImpl(Container.java:2068)
    at java.awt.Component.dispatchEvent(Component.java:3918)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
    at java.awt.Container.dispatchEventImpl(Container.java:2054)
    at java.awt.Window.dispatchEventImpl(Window.java:1801)
    at java.awt.Component.dispatchEvent(Component.java:3918)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:501)
    at java.awt.EventQueue.access$000(EventQueue.java:80)
    at java.awt.EventQueue$1.run(EventQueue.java:462)
    at java.awt.EventQueue$1.run(EventQueue.java:461)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:95)
    at java.awt.EventQueue$2.run(EventQueue.java:476)
    at java.awt.EventQueue$2.run(EventQueue.java:475)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:84)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:473)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
     
  9. Aug 21, 2012 #4249 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    Yes, not much I can do about it really. As usual Apple likes to do things differently than everyone else for Java. Note that you get Mac OS X interface by default without choosing it so if that's what you want best to just set it to default then re-start kmttg.
     
  10. Aug 27, 2012 #4250 of 10412
    bwall23

    bwall23 New Member

    73
    0
    Jun 8, 2009
    How difficult would it be to add the programId to the metadata file that kmttg generates. Could it be added as an option?
    See post in pytivo thread from lpwcomp
     
  11. Aug 27, 2012 #4251 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    Not too hard. Is this the field name syntax for programId as in sample below?
    Code:
    programId : SH011029750000
    
     
  12. Aug 27, 2012 #4252 of 10412
    lpwcomp

    lpwcomp Active Member

    8,080
    2
    May 6, 2002
    John's...
    Bear in mind that the pyTiVo TvBus.tmpl has to be modified in order for it to be sent to the TiVo.

    Probably easier for you than it was for me. Wasn't really that hard for me, I just had to modify the code a bit more than I anticipated.

    Yes, that is the correct syntax. Example of one that currently works:
    Code:
    programId : EP009311820044
    (The example is for Sea 3 Ep 1 of "The Big Bang Theory".)
     
  13. Aug 27, 2012 #4253 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    lpwcomp, I already have the necessary updates checked into source if you want to review or test it out (for both metadata from shows still on TiVo as well as from .TiVo files). Obtaining from .TiVo was a little tricky as "uniqueId" is used for both seriesId and programId in the tivodecode xml dump but from my short testing I think it's working there as well. I did notice the .TiVo file programID is not front padded with zeros so for example instead of "EP009311820044" you get "EP9311820044". Don't know if the leading zeros are important or not from TiVo point of view? I could add additional code to front pad number part with zeros to maintain a minimum number length if needed.
     
  14. Aug 27, 2012 #4254 of 10412
    lpwcomp

    lpwcomp Active Member

    8,080
    2
    May 6, 2002
    John's...
    Yeah, I ran into that also. The problem is that <series> is under <program> so an element search of the program node for <uniqueId) will find the <series> <uniqueId>. I solved it by searching the direct child node list rather than a full element search.
    Huh. I'm not seeing this. For instance, I just generated the metadata file for a .tivo file of a recording of the latest episode of "Futurama" and it has a programId of EP003034830138. Of course, it is entirely possible that TiVo is screwing around with the programId sometimes and it would explain the inconsistencies.
     
  15. Aug 27, 2012 #4255 of 10412
    mattack

    mattack Active Member

    20,734
    4
    Apr 9, 2001
    sunnyvale
    Oh, ok.. yeah, weird.. I played around with them, and then realized I had the Mac OS X default originally anyway..

    So are you saying this is a bug in OS X's Java? If so, can you narrow down what the bug is? (Darn, I guess we don't ship Java anymore, so there's not really a bug to write up.. but I'm still curious and might ask one of the people who use to work on Java.)
     
  16. Aug 27, 2012 #4256 of 10412
    mattack

    mattack Active Member

    20,734
    4
    Apr 9, 2001
    sunnyvale
    Sorry, does this mean that I can download with kmttg and then re-upload with pyTivo (with the changes), and still have the episode # when it's back on the TiVo (mostly for me to sanity check when I delete the episode)?

    I've noticed that I *sometimes* see the episode # in the whole ton of junk that shows up when I show the full info on a transferred-back-to-TiVo show. But not in the nice human readable form. Basically a whole bunch of XML that shows up in one of the fields.

    Oh yeah, I'm still interested in the kmttg upgrade to put the proper show info (e.g. guest info) back into the title of downloaded talk shows.
     
  17. Aug 28, 2012 #4257 of 10412
    lpwcomp

    lpwcomp Active Member

    8,080
    2
    May 6, 2002
    John's...
    It should yes. However, there is no guarantee that it will as I have no idea why it sometimes fails.

    Here are the lines you need to add to the pyTivo\plugins\video\templates\TvBus.tmpl:
    Code:
          #if $video.programId
          <uniqueId>$video.programId</uniqueId>
          #end if
    They go right before the

    </program>

    line

    That'...odd. I don't think that is supposed to happen. In any case, the episode number in the XML is the one that appears as "Episode Num" in the SDUI and as episodeNumber in the metadata file.
    Yeah, that sorta got back burnered plus I had to remove the episodeTitle code as it was causing some problems and I didn't have time to try and fix it. I will try to get back to it next week. Starting tomorrow, I will be AFMK for a week so won't have access to my development machine.

    Of course, these two things are in conflict. If the TiVo actually uses the programId, it ignores most of the rest of the metadata from the file, including episode title and description.
     
  18. Aug 28, 2012 #4258 of 10412
    cweb

    cweb New Member

    106
    0
    May 29, 2004
    I am using the iPad delete option in kmttg and my premiere. It works just great when I download a show and the have kmttg delete it from the premiere. Every so often often I'll see a show in the kmttg list that I would like to delete without downloading. If I just select the delete option (no d/l, metadata, etc.), should I be able to start the job and delete the show? It doesn't seem to work for me.
     
  19. Aug 28, 2012 #4259 of 10412
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    No for those cases you simply select the show(s) in the table you want to delete and then press "Delete" on your keyboard. BTW if you select a show in table and press "Space" it will start playback of the show on that TiVo.
     
  20. Aug 30, 2012 #4260 of 10412
    cweb

    cweb New Member

    106
    0
    May 29, 2004
    Thanks. I look forward to trying it tonight.
     

Share This Page