Skip to main content

basic BDJO production problem

3 replies [Last post]
ryanbertiwork
Offline
Joined: 2009-06-04
Points: 0

Hi

I have been doing a lot of research on development of BD interactivity,but have had little luck getting my helloworld example working. I have been trying to get the HelloTVXlet to work in conjunction with my software BD emulator (Scenarist QC), but have run into trouble in .bdjo production. I use the sample BDMV directory structure from the cookbook site, replace the jar file with the one I have produced (jar -cvf 00000.jar HelloTVXlet.class HelloTVXlet$1.class), and replace the bdjo file using the converter in the HDCOOKBOOK repository. I replace initialClassName with HelloTVXlet (have tried HelloTVXlet.class as well), yet when I test the helloworld disc image, Scearist's debug window states that

Output: XletClassLoader.findClass HelloTVXlet not found.
Error: java.lang.ClassNotFoundException

I have looked at the xml file generated when using the sample disc image's default bdjo, and the initialClassName is prepended with some other structure that I do not understand (com.hdcookbook.bookmenu.monitor.MonitorXlet). I am assuming I need to prepend my class name, but with what? I hope that this is the root of my problem, as I have followed the wiki and readme files very closely up to this point.

Any help would be greatly appreciated, I feel like I have tried everything : (

-Ryan B

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
szmarine
Offline
Joined: 2008-06-13
Points: 0

Hi Ryan,

1) I think you need to specify the full Xlet package/name, so that your Xlet can be found. For example, in your Xlet, there could be code like:

package com.mycompany;
....

public class HelloTVXlet implements Xlet {
...
}

Then with Scnarist BDJ, when export BDJO->add Xlet, inpurt the full package/class name com.mycompany.HelloTVXlet.

2) Make sure that 00000 is set to be the base directory, so that other resources or classes in this jar referenced by the Xlet can be found.

Hope this helps.

chihiro_saito
Offline
Joined: 2006-11-08
Points: 0

Hi Ryan,

Just following up. Like szmarine said, BDJO's initial class name should be a fully qualified class name - which means, it should include the HelloTVXlet's package name. I believe we have a simple test project under hdcookbook/xlets/HelloWorldXlet, which makes a full disc image.

Also, note that if you are jarring up the classes by using the "jar" command, then you're making the jar "unsigned". An insecure xlet will not be able to do much beyond helloworld...

Chihiro

ryanbertiwork
Offline
Joined: 2009-06-04
Points: 0

Thanks a lot, will try to produce a full package name and test next time I'm in the office. Should I be producing my own index files as well? I know that there are parts of the puzzle I have yet to touch and I feel a bit naive copying full disc images and adding a few files.

BTW I have been using Scenarist BD-J but decided to stick with the command line interface as I was a bit overwhelmed with the options available for output files. Do you think that this will be limiting for me in the future?

Thanks again, I am very excited with the prospect of java on bluray players.

-Ryan