I've never done any Java programming so please have mercy on me.
I followed Pony's instructions ( or so it would seem) but when I click on the "Run" button I get:
error: class not found: com.tivo.hme.HelloWorld
error: check the classpath and access permissions

Make sure that you changed the "package ..." line at the top of the file to match what you typed in this step:

Quote:

Create a new package within that project. You can name it whatever you want...our guys use com.tivo.hme, you can use anything, just try to make it unique to you. All lower case. This creates a hierarchy of folders within your eclipse 'workspace' folder, matching whatever you type (eg. empty 'hme' folder inside a 'tivo' folder inside a 'com' folder.

I suspect that will solve your problem.

If not, make sure that you've created a run configuration, as in the following step:

Quote:

Now, select 'Run' from the menu bar, and scroll down the drop down window and select Run... Don't choose Run As!

A Run window will open. Click on Java Application (to the left), and then press the 'new' button. It'll create a new file labeled 'New_configuration'. Highlight it. This is the runtime configuration for this particular program. Change the Name: to something that makes sense (like HelloWorld). The Project name should be auto-filled. Below that is Main Class. Make sure that 'Include external jars when searching for main class' is checked on. Then type the word Factory into the dialog above that checkbox. Click 'Search', and you'll see a dialog of classes. Scroll down to the one labeled Factory and select it. The Main class dialog will then be auto-filled with the right path for the class (something like com.tivo.hme.Factory). All of that is on the 'Main' tab.

A quick note -- if you get an exception when you try to run this in the Simulator, make sure you have an active network interface on your machine. I was originally trying this on my laptop and getting an exception. Once I switched on my wireless access, the Simulator started working properly.

BTW, thanks, TiVoPony, for the helpful startup instructions -- this kind of thing is great.

For those of you more visually oriented, I have recorded a screen video of this excellent introduction from TiVoPony (Flash required). Since I can't post links, you can find this demo on my website (click on my name to the left there to visit my homepage); find the link to 'TiVo App SDK - Cool!' in the left-hand nav, and it's linked off that page under 'Writing Your First Application.'

Note the little green progress bar and pause/play control at the bottom, if you need to pause it in the middle.

For those of you more visually oriented, I have recorded a screen video of this excellent introduction from TiVoPony (Flash required). Since I can't post links, you can find this demo on my website (click on my name to the left there to visit my homepage); find the link to 'TiVo App SDK - Cool!' in the left-hand nav, and it's linked off that page under 'Writing Your First Application.'

Note the little green progress bar and pause/play control at the bottom, if you need to pause it in the middle.

For those of you more visually oriented, I have recorded a screen video of this excellent introduction from TiVoPony (Flash required). Since I can't post links, you can find this demo on my website (click on my name to the left there to visit my homepage); find the link to 'TiVo App SDK - Cool!' in the left-hand nav, and it's linked off that page under 'Writing Your First Application.'

Note the little green progress bar and pause/play control at the bottom, if you need to pause it in the middle.

Now, I'd like to try using the HME SDK via IKVM on Mono. Have any Mono/C# fanatics tried this yet? My main reason is so that I can write my test application in C#, and use the Java HME SDK via import through IKVM. Since the HME simply runs on the PC, and not on the Tivo, I'm hoping this setup will work nicely.

I would have provided HTML links to IKVM and Mono, but I'm prohibited, since this is my first post on this forum. Very annoying...

Well, this thread inspired me to begin writing my own app -- a "Traffic Cam Viewer" application. As I have progressed, I have documented everything in the form of a fairly extensive tutorial, one of those "learn it in an hour a day" kinds of tutorials.

In addition to the HME SDK. I also show how to get started with the Bananas UI toolkit. There's also a number of more intermediate Eclipse tips (using the debugger, etc.)

Since I can't yet post links, you can find this tutorial by clicking my username 'F8ster' over there on the left, selecting 'Visit F8ster's Homepage!', then choosing 'TiVo App Tutorial' from the left-hand nav bar on my homepage.

Anyway, I know enough about Java to be dangerous but don't know a lot of the methodology and practices. Anyone want to clue me in on how to create a Web Start JNLP from my project?
thanks..

Having just fought this battle myself, I documented the steps I used to create a JNLP deployment for my TiVo app and stuck them here. Not sure if I've got all of the best practices down pat yet, but this process worked for me:

I am attempting this tutorial and I think I'm just missing one minor thing, but can't seem to track it down. If someone could point me in the right direction, it'd be greatly appreciated. I set up the project in Eclipse and go to run it in the simulator, but when the simulator comes up, I get:

ERROR: File not found ://192.168.123.104:7288/hme

(The message parser thought I was trying to imbed a url, so that's why I did the ... slash-slash thing. The actual error message has "h" ttp in front of the ://). The xxx... IP address is the IP of my PC that I'm running on. I have a Linksys router and it has the firewall on, but since it's not going outside my subnet, I didn't think that'd matter. Though I'm pretty computer literate(am a programmer by trade), I'm not real strong on the firewall stuff.

I just turned off the firewall and get the same error. My PC is running Galleon and works with no problems and the Tivo can see the music and pictures on my PC, so I'm really not sure why the simulator doesn't work. Also, not sure if it matters, but when I select Run and do a search for the Main Class, I do not see Factory in the list. I see Simulator and choose that one, but Factory is not on the list even though hme.jar was loaded...

I am attempting this tutorial and I think I'm just missing one minor thing, but can't seem to track it down. If someone could point me in the right direction, it'd be greatly appreciated. I set up the project in Eclipse and go to run it in the simulator, but when the simulator comes up, I get:

ERROR: File not found ://192.168.123.104:7288/hme

Hi there,

The error you're seeing is due to a recent change in the hosting implementation. We don't use Factory anymore, instead you should type com.tivo.hme.host.sample.Main into the Main class dialog in Eclipse.

Also, when you add external libraries to your project, make sure to include the hme-host-sample.jar file as well.

I have multiple Network Interfaces. When I run the HelloWorld sample from this thread it binds to the wrong IP. I've tried adding the -i <correct ip> to the Program arguments like it shows in the SDK samples, but that doesn't work. How can I tell it to bind to the correct IP?

First things first. Tremendous thanks to F8ster. I found your tutorials on bitrazor before coming here, and they were invaluable in getting me started with hme development.

I have had some measure of success in getting my app running, even though this is my first java project.

I have so far been able to run my app in the simulator and using the com.tivo.hme.host.sample.Main class from the Run menu within Eclipse. I am having trouble figuring out how to export a jar that will run standalone.

I am developing on a mac, running OS X 10.4.6, using Eclipse 3.1.1.

I am hoping to export either a double-clickable jar or an application bundle.

First things first. Tremendous thanks to F8ster. I found your tutorials on bitrazor before coming here, and they were invaluable in getting me started with hme development.

I have had some measure of success in getting my app running, even though this is my first java project.

I have so far been able to run my app in the simulator and using the com.tivo.hme.host.sample.Main class from the Run menu within Eclipse. I am having trouble figuring out how to export a jar that will run standalone.

I am developing on a mac, running OS X 10.4.6, using Eclipse 3.1.1.

I am hoping to export either a double-clickable jar or an application bundle.

Thanks,
mondelicious

Thanks for the kind words. Makes it worth the effort...

It is possible to do what you're attempting, although it's painful. Here are the basic steps:

Extract everything from each JAR in your app into a directory. Use 'jar xvf hme.jar', for example, to extract everything from hme.jar into an expanded directory. Repeat for each JAR in your application.

Create a new manifest with Main-class: set to the class containing your main. Call it 'mymanifest'. See a few responses up (this one) in this thread for a syntax example. Put it in the same dir. you're expanding all of this stuff into.

Use 'jar cvfm my_big_jar.jar dir/mymanifest dir/*' to wrap it all up into a new JAR.

You can then do 'java -jar my_big_jar.jar' to run it, or double-click the JAR.

I'll try to test this with HelloWorld just to make sure I'm not giving you bad info here, but this should get you pointed in the right direction. Here's some links from Sun to help:

I extracted the hme and sample hosting jars, as well as my own app. Then, I used a manifest file pointing to com.tivo.hme.host.sample.Main as an entry point and followed your directions for creating a big jar.

This seems to have gotten me to the point where a Main class is actually found, but I am missing the argument for the main class.

FWIW, here's the script I include with the NetFlix RSS Reader to run my app. Notice that I don't even fight with trying to combine the jars; I just stick them all in a 'jars' directory (although I suppose 'lib' would be more conventional) and the script adds them one by one. Some kind soul contributed this script:

Since I've just started working with Eclipse for work projects, I've noticed that there seems to be a plugin for everything. So when I ran across this thread and read the new replies I thought, "I bet there's a plugin for that!!!". Sure enough...