TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Underground Playground > Developers Corner
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 01-21-2008, 10:13 PM   #1
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
New Hme SDK for .NET

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
jbcooley is offline   Reply With Quote
Old 01-22-2008, 03:29 AM   #2
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,023
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.

Last edited by wmcbrine : 01-22-2008 at 03:35 AM.
wmcbrine is offline   Reply With Quote
Old 01-22-2008, 07:24 AM   #3
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
Quote:
Originally Posted by wmcbrine View Post
Hey, cool. I'm not a .Net guy myself, but it's nice to see more HME implementations. Why sit on it, BTW?
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.

Quote:
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.
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.
jbcooley is offline   Reply With Quote
Old 01-22-2008, 08:31 AM   #4
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,023
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?

Last edited by wmcbrine : 01-22-2008 at 10:32 AM.
wmcbrine is offline   Reply With Quote
Old 01-22-2008, 12:37 PM   #5
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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.
jbcooley is offline   Reply With Quote
Old 01-22-2008, 03:58 PM   #6
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,023
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...
wmcbrine is offline   Reply With Quote
Old 01-22-2008, 05:02 PM   #7
s2kdave
Registered User
 
Join Date: Jan 2005
Posts: 515
Quote:
Originally Posted by wmcbrine View Post
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.
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
s2kdave is offline   Reply With Quote
Old 01-22-2008, 05:49 PM   #8
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
Quote:
Originally Posted by wmcbrine View Post
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...
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.
jbcooley is offline   Reply With Quote
Old 01-23-2008, 05:03 AM   #9
raianoat
TiVoBlog.com
 
Join Date: Jan 2004
Posts: 229
Thanks for creating this! Hopefully, this will help to get more TiVo HME applications developed.
raianoat is offline   Reply With Quote
Old 01-23-2008, 10:08 PM   #10
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
Quote:
Originally Posted by raianoat View Post
Thanks for creating this! Hopefully, this will help to get more TiVo HME applications developed.
Thank you for sharing the announcement on your blog. I hope to contribute to the pool of hme applications.
jbcooley is offline   Reply With Quote
Old 01-28-2008, 07:06 PM   #11
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,023
Something was nagging at me since you posted... hadn't I seen this before? It turns out I was thinking of this:

http://www.bytebuilder.com/Company/D...s/TivoHME.aspx
wmcbrine is offline   Reply With Quote
Old 01-28-2008, 07:40 PM   #12
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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.
jbcooley is offline   Reply With Quote
Old 01-29-2008, 07:50 AM   #13
MasterCephus
Registered User
 
MasterCephus's Avatar
 
Join Date: Jan 2005
Location: Hueytown, Alabama
Posts: 309
What .NET version is this built against? 1.1 or 2.0?
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
(transfer almost any video to your Tivo!)

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
, a GUI based application to create metadata for pyTivo files
MasterCephus is offline   Reply With Quote
Old 01-29-2008, 08:06 AM   #14
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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.
jbcooley is offline   Reply With Quote
Old 01-29-2008, 11:01 PM   #15
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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.

Last edited by jbcooley : 02-11-2008 at 09:09 AM. Reason: note bonjour requirement
jbcooley is offline   Reply With Quote
Old 02-13-2008, 07:49 PM   #16
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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
jbcooley is offline   Reply With Quote
Old 03-04-2008, 10:51 PM   #17
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
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.
jbcooley is offline   Reply With Quote
Old 03-06-2008, 12:37 PM   #18
dgk
Registered User
 
Join Date: Mar 2008
Location: Queens NY
Posts: 16
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.
dgk is offline   Reply With Quote
Old 03-06-2008, 09:13 PM   #19
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
Quote:
Originally Posted by dgk View Post
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.
Home Media Engine

Quote:
So I guess that the SDK is useful for developing PC apps that interact with TiVo. Does that include my HD version?
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.

Quote:
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?
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.

Quote:
I'm looking forward to playing with it anyway.
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?
jbcooley is offline   Reply With Quote
Old 03-07-2008, 07:35 AM   #20
dgk
Registered User
 
Join Date: Mar 2008
Location: Queens NY
Posts: 16
2.0 for production stuff but I'm using VS2008 so anything up to 3.5 is fine.
dgk is offline   Reply With Quote
Old 08-04-2008, 10:28 PM   #21
jbcooley
Registered User
 
Join Date: May 2007
Posts: 54
I've updated the .NET sdk to support streaming video.

I've also released a preview of a hosting service for running HME applications as a service on Windows. Please check the readme in the HmeApplicationServer directory for basic installation instructions.
jbcooley is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 07:15 PM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |