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

New Hme SDK for .NET

Discussion in 'Developers Corner' started by jbcooley, Jan 21, 2008.

  1. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    I've been holding on to this HME sdk I wrote a while back. I thought I'd publish it in case anyone was interested

    http://code.google.com/p/tivo-sdks/downloads/list
     
  2. wmcbrine

    wmcbrine Ziphead

    10,363
    22
    Aug 2, 2003
    Hey, cool. I'm not a .Net guy myself, but it's nice to see more HME implementations. Why sit on it, BTW?

    Oh, BTW... did you find that the Tivo ever actually returned an EVT_FONT_INFO? According to the spec, it's supposed to be generated when a font resource is created, but I'm not seeing that.
     
  3. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Because I didn't think it was ready. I also wanted to include a higher level UI toolkit. I may still do that, but I'm not sure it's as valuable as earlier thought.

    I believe so. I've got some sample code that is a port of the java sdk samples. In there I receive an EVT_FONT_INFO event.
     
  4. wmcbrine

    wmcbrine Ziphead

    10,363
    22
    Aug 2, 2003
    Yeah, I know about the sample app. But I'm just not getting those events back from the Tivo. (I'm in the process of implementing HME for Python.) I was speculating that the event was faked by the Java SDK. Either that, or it takes something more than CMD_RSRC_ADD_FONT to elicit it?
     
  5. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    I've added the sample project to that link. I'm not faking the font event and do receive that after adding a font.

    If you look in the Sample project in FontInfo.cs there is a method in the FontView class called application_TextStyleCreated. That is fired when you specify a new combination of font name (actually requires a number), font style (ie bold, italic, etc), and font weight.
     
  6. wmcbrine

    wmcbrine Ziphead

    10,363
    22
    Aug 2, 2003
    OK, I see the problem now, with the help of debug mode in the simulator: you have to ask for the event in the command's flags. Of course this isn't documented in the HME Protocol Specification. (Heck, even the existence of a "flags" field for CMD_RSRC_ADD_FONT isn't documented.)

    P.S. Sorry to have sidetracked your thread...
     
  7. s2kdave

    s2kdave New Member

    515
    0
    Jan 27, 2005
    If I remember correctly it will generate those events, but only after you register to listen for the events. In Java, that would be when you call Resource.addHandler on the font resource.

    David
     
  8. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    No problem. I had forgotten about the undocumented bits. There are a few of those. I struggled for a while figuring out the exact discovery mechanism necessary to get an application automatically recognized.
     
  9. raianoat

    raianoat TiVoBlog.com

    229
    0
    Jan 27, 2004
    Thanks for creating this! Hopefully, this will help to get more TiVo HME applications developed.
     
  10. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Thank you for sharing the announcement on your blog. I hope to contribute to the pool of hme applications.
     
  11. wmcbrine

    wmcbrine Ziphead

    10,363
    22
    Aug 2, 2003
  12. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Yes, I saw that about half way through development of my library. Since it didn't seem to be active any more, and I was having fun, I decided to continue work on mine.

    I'm hoping for more community involvement by hosting it on code.google.com, but the only feedback I've gotten has been on this board. I suspect that's partially due to a bug that may have prevented most people from even seeing the samples run on a tivo.
     
  13. MasterCephus

    MasterCephus New Member

    309
    0
    Jan 2, 2005
    Hueytown,...
    What .NET version is this built against? 1.1 or 2.0?
     
  14. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    It's built with 2.0. This is mostly for language/runtime features rather than framework features. I make use of generics in particular. And the animate sample uses an anonymous delegate.

    I also ran MoMA to see if it should run on mono and it passed.
    http://www.mono-project.com/MoMA

    I've yet to actually run it on mono though.
     
  15. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Updated with bug fixes for the missing icon file. Also packaged sample executable in an ready to run folder. Make sure you install bonjour to get the sample to run.

    http://code.google.com/p/tivo-sdks/

    Please share any feedback good or otherwise. You can leave a note on this thread or send me an email to the address listed on the project site.
     
  16. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    I've published a new release with several bug fixes and a couple of enhancements. As usual, make sure you install bonjour to run samples.

    See change log
     
  17. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Published 1.2 with a few bug fixes. Also published disk usage sample inspired by this forum post (and many others like it).
    Viewing your Free Disk Space

    The disk usage app also includes a small Tivo.Hmo library to get the information for calculating the free space. It is not written for use by other applications but may develop further if interest develops.
     
  18. dgk

    dgk New Member

    16
    0
    Mar 6, 2008
    Queens NY
    I just bought a TiVo from Woot. I have a ton of stuff to learn about before I even get it activated, but since I'm a programmer in dotnet (mostly VB) I got curious to see what you're up to. I haven't spent much time looking at anything to do with HME, in fact, I don't know what HME stands for.

    So I guess that the SDK is useful for developing PC apps that interact with TiVo. Does that include my HD version?

    A quick glance at the HME page says that you can't interact with the scheduler or playback or such. Can we do such things as grab a recorded show and bring it to the PC in some HD format? Hmm. Just what is an HD format anyway. I read that the Tivo Desktop app (not TivoToGo) allows sort of HD copying, mpeg4. But that maxs out at 720, not 1080?

    I'm looking forward to playing with it anyway.
     
  19. jbcooley

    jbcooley New Member

    55
    0
    May 13, 2007
    Home Media Engine

    Yes, you can develop applications that run on a pc and display the user interface on the tv. That includes your HD version with standard resolution or 720 hd.

    You can grab recorded shows using the HMO protocol. It is an xml based protocol and much simpler than the HME protocol. I've got the beginnings of an HMO protocol library, but it's likely to be completely rewritten before it's really usable.

    Let me know if you have any questions are would like some changes to the library. I'm definitely looking for feedback. In particular, what version of the .NET framework are you using?
     
  20. dgk

    dgk New Member

    16
    0
    Mar 6, 2008
    Queens NY
    2.0 for production stuff but I'm using VS2008 so anything up to 3.5 is fine.
     

Share This Page