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. May 17, 2014 #6821 of 10411
    lpwcomp

    lpwcomp Active Member

    8,075
    2
    May 6, 2002
    John's...
    Ah. Makes sense. Personally,I think that what the OP wants is silly but who am I to judge?
     
  2. May 17, 2014 #6822 of 10411
    BankZ

    BankZ New Member

    188
    0
    Aug 16, 2007
    java.lang.ArrayIndexOutOfBoundsException: 15 >= 0
    at java.util.Vector.elementAt(Vector.java:470)
    at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:649)
    at org.jdesktop.swingx.JXTable.getValueAt(Unknown Source)
    at com.tivo.kmttg.gui.nplTable$ColorColumnRenderer.getTableCellRendererComponent(nplTable.java:372)
    at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7039)
    at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7426)
    at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6939)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
    at javax.swing.DefaultListSelectionModel.removeIndexInterval(DefaultListSelectionModel.java:677)
    at javax.swing.JTable.tableRowsDeleted(JTable.java:4509)
    at javax.swing.JTable.tableChanged(JTable.java:4412)
    at org.jdesktop.swingx.JXTable.tableChanged(Unknown Source)
    at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
    at javax.swing.table.AbstractTableModel.fireTableRowsDeleted(AbstractTableModel.java:261)
    at javax.swing.table.DefaultTableModel.setNumRows(DefaultTableModel.java:321)
    at com.tivo.kmttg.gui.nplTable.clear(nplTable.java:1212)
    at com.tivo.kmttg.gui.nplTable.displayFlatStructure(nplTable.java:855)
    at com.tivo.kmttg.gui.nplTable.RefreshNowPlaying(nplTable.java:835)
    at com.tivo.kmttg.gui.nplTable.MouseClicked(nplTable.java:435)
    at com.tivo.kmttg.gui.nplTable.access$000(nplTable.java:50)
    at com.tivo.kmttg.gui.nplTable$1.mouseClicked(nplTable.java:87)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
    at java.awt.Component.processMouseEvent(Component.java:6508)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:708)
    at java.awt.EventQueue$4.run(EventQueue.java:706)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

    java.lang.ArrayIndexOutOfBoundsException: 15 >= 0
    at java.util.Vector.elementAt(Vector.java:470)
    at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:649)
    at org.jdesktop.swingx.JXTable.getValueAt(Unknown Source)
    at javax.swing.JTable.prepareRenderer(JTable.java:5719)
    at org.jdesktop.swingx.JXTable.prepareRenderer(Unknown Source)
    at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2114)
    at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016)
    at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812)
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at javax.swing.JComponent.paintComponent(JComponent.java:778)
    at javax.swing.JComponent.paint(JComponent.java:1054)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JViewport.paint(JViewport.java:731)
    at javax.swing.JComponent.paintChildren(JComponent.java:887)
    at javax.swing.JComponent.paint(JComponent.java:1063)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
    at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
    at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
     
  3. May 17, 2014 #6823 of 10411
    moyekj

    moyekj Well-Known Member

    11,134
    27
    Jan 23, 2006
    Mission...
    Well at least the 1st one pointed to a trigger point in kmttg where problem is happening, though since it's not reproducible for me on Windows or Linux I don't think there's something wrong with the code. In any case, I added error trap in that location that doesn't do anything (and hence will suppress the stack trace) with the assumption nothing bad is actually happening other than the stack trace error message. You can try out kmttg.jar in this zip file to see if it helps:
    https://drive.google.com/file/d/0B0SMFC97ymdET1BuaGZfZDVjTzg/edit?usp=sharing

    For 2nd stack trace you posted there's no kmttg trigger point listed so unless it's related to the 1st one then don't know where that one is coming from.
     
  4. May 17, 2014 #6824 of 10411
    BankZ

    BankZ New Member

    188
    0
    Aug 16, 2007
    Well, it seems to be working. I can't easily break it. I will do more testing over the next few days. I will post back.

    Thanks!
     
  5. May 18, 2014 #6825 of 10411
    BankZ

    BankZ New Member

    188
    0
    Aug 16, 2007
    Still can't break it. Thanks!
     
  6. May 18, 2014 #6826 of 10411
    BankZ

    BankZ New Member

    188
    0
    Aug 16, 2007
    Is there a way to have shows auto sort alphabetically?
     
  7. May 18, 2014 #6827 of 10411
    moyekj

    moyekj Well-Known Member

    11,134
    27
    Jan 23, 2006
    Mission...
    Click on the SHOW column title once and from that point on in the kmttg session the shows will be sorted alphabetically. Note that you can also use Ctrl+S to bring up "Search table" dialog if searching for something specific.
     
  8. May 19, 2014 #6828 of 10411
    wuzznuubi

    wuzznuubi New Member

    118
    0
    Jan 16, 2013
    Talking about Roamio and Premiere models if it matters.

    Would it be easy to add this functionality to the TODO list in addition to the NPL list it's now being used for?
    Code:
    When enabled shows in NPL tables will be have a light yellow color signifying that they have been processed in the past by kmttg and have an entry in the kmttg auto.history file.
    I ask because I have some previous series recordings archived off to a NAS (and deleted from the TiVo) but still have a season pass or wishlist setup in order to catch one or more episodes I missed.

    Since the TiVo has short term memory of what it previously recorded, I typically find it attempting to record episodes I'd previously moved to archive, but they are in the auto.history file.

    If this could be enabled in the TODO list, I could easily see and cancel these before they record again, rather than catching them after they record.

    P.S. If it's only a single episode, I setup a wishlist, but some series have more than one missing episode, so season pass is the easiest way to get them?
     
  9. May 19, 2014 #6829 of 10411
    moyekj

    moyekj Well-Known Member

    11,134
    27
    Jan 23, 2006
    Mission...
    Well the current method uses ProgramId for matching up what has been recorded, but entries in TODO don't have ProgramId (as they haven't been recorded yet). Using title title + subtitle could lead to too many false positives for series that don't have subtitles (such as news shows) and movies that are not very unique in name.
     
  10. May 19, 2014 #6830 of 10411
    reneg

    reneg Member

    699
    0
    Jun 19, 2002
    Yes, a season pass is an easy way to get more than one episode. I've also used a single wishlist to record a handful of missed episodes of series by using episode titles as keywords and making the different keywords "or".

    One other thing I do is to occasionally is to sort the auto.history file, so the episodes of a series get clumped together in the file.
     
  11. May 19, 2014 #6831 of 10411
    BankZ

    BankZ New Member

    188
    0
    Aug 16, 2007
    Anyway to have it remember it at startup?
     
  12. May 19, 2014 #6832 of 10411
    moyekj

    moyekj Well-Known Member

    11,134
    27
    Jan 23, 2006
    Mission...
    No. Though you only need to click on title once per kmttg session to get to what you want.
     
  13. May 20, 2014 #6833 of 10411
    wuzznuubi

    wuzznuubi New Member

    118
    0
    Jan 16, 2013
    Thanks for looking into it, my bad. I thought maybe the info ("partnerCollectionId": "EP012531820058") from my TODO list (Display data [j]) was the programId.
    Code:
    ToDo: Dual Survival - No Man Is an Island
    Wed 05/28/14 09:00 PM on DSCHDP, Duration = 61 mins, season 4 episode 6, originalAirdate: 2014-05-28
    Joe tries to locate his new partner, who is on an uninhabited island of the coast of Panama.
    ...
    "partnerCollectionId": "EP012531820058"
    Although this example is a new - future episode, the ("partnerCollectionId": "EP#") matches up with programId on other episodes I've already recorded as the following example shows.
    This is one I previously recorded and is in the auto.history file with (programId : ) EP015556560018 Mountain Men - Thin Ice
    Code:
    ToDo: Mountain Men - Thin Ice
    Sun 06/01/14 10:00 AM on HSTRYHD, Duration = 61 mins, season 2 episode 10, originalAirdate: 2013-08-11
    Tom struggles to keep a deadly wolf pack off his land; Rich tracks a large buck over tough terrain; Eustace makes some much-needed repairs; George is forced to make his way across the Tetons on foot.
    ....
    "partnerCollectionId": "EP015556560018"
     
  14. May 20, 2014 #6834 of 10411
    lpwcomp

    lpwcomp Active Member

    8,075
    2
    May 6, 2002
    John's...
    You are correct. "EP012531820058" is indeed the programId for that episode of "Dual Survival".
     
  15. May 20, 2014 #6835 of 10411
    moyekj

    moyekj Well-Known Member

    11,134
    27
    Jan 23, 2006
    Mission...
    Interesting, I didn't make the connection given the name, but looks like it does match up.
     
  16. May 20, 2014 #6836 of 10411
    mattack

    mattack Active Member

    20,734
    4
    Apr 9, 2001
    sunnyvale
    There's still the deleting-the-first-show-in-a-group-at-the-top issue that I posted before.
     
  17. May 20, 2014 #6837 of 10411
    mattack

    mattack Active Member

    20,734
    4
    Apr 9, 2001
    sunnyvale
    The frequent issue here is a glitch in the recording. Play the show on the Tivo, and see if there's a glitch (blockiness/blip in video and/or sound) at the point where it stopped.

    That's basically the only time I ever see downloads fail.
     
  18. May 20, 2014 #6838 of 10411
    wuzznuubi

    wuzznuubi New Member

    118
    0
    Jan 16, 2013
    Thanks, good to know. I just stumbled on that and thought it quite the coincidence. I would prefer to have them highlighted in the TODO list as I'm not sure it's a 100% coincidence/proof of concept at this point ;-)
    I could see other uses for it if it turns out to be a fact.

    What say ye?
     
  19. May 20, 2014 #6839 of 10411
    Bytez

    Bytez Member

    286
    0
    Sep 11, 2004
    NYC
    Excellent program, it's the only one I use to transfer videos onto the computer. Thanks for releasing it. :)
     
  20. May 20, 2014 #6840 of 10411
    Bytez

    Bytez Member

    286
    0
    Sep 11, 2004
    NYC
    Could you make it auto-refresh the show list upon opening the program?
     

Share This Page