Teppefall Capture – From prototype to application
There is a lot of tricky logic in this application that is not so obvious just by looking at some screen shots. There are the delicious differences between Windows XP and Vista on how they deal with shared native libraries. There are minimum two gotchas. One, if you link against stuff like Visual C++ or MingW32 G++ you must add the C++ library to your application base path on Vista. It will not work the way it does on XP, where the DLL can just be on the system path. Second, any custom JNI library must be added to the system path before a VM is created. Just setting java.library.path will not work on Vista -if- the path is not the base path (“.”).



Then there are the lame GlibC problems on Linux. It appears that closed software is not really supported, because the abundance of GlibC versions makes it hard to create some executables that work for “most people”. Also, most Linux forums consist of nothing more than “your distribution sucks” comments, so finding a solution to this problem might take some time. There are limits on how much intellectual drivel I can absorb on any given day.
Microsoft only web camera's is another problem. Because of the built in web camera on new Mac's a lot of web camera vendors seem to have gone Microsoft only. I am not sure if this is a new concept, but is hard to find something that works on both Vista and OS X and that is not a toy. It would have been nice to check the performance and image quality independent of the operating system.
Finally there is the reality that JOGL might not work everywhere. People on 64bit platforms are a bit of a headache. It is really hard to test every possible combination of software and hardware while at the same time move forward feature wise. In Teppefall Capture I have been experimenting with asynchronous loading of native code and trying to make the UI stay together if something is missing, but it is proving to be a hard challenge. A Linux user with the wrong GlibC will just get a corrupt Swing layout and a ton of exceptions when running the application as it is now. I might have to probe the system before launching the OpenGL view and hope that the probing itself does not cause a problem.

These screen shots show you the application in final assembly. Notice the margin differences and the red hit code area. Hopefully the Sun scene graph projects will make it easier just to create a simple button on some custom background graphics. My own code is fast enough, but is not reusable, it does not support the keyboard focus cycle and it is hard to understand. I am thinking about adding some vector based animation to the top, but it might be too cheesy and is high on my cut list for 1.0.
.png)

And yeah. No Java 1.6 for my Powerbook, so who knows what happens there. Also, Server/client mode X11 might bite me in the ass because of all the raw data I am moving around. Sun kind of forgot the whole “oh... you want video with that ?” debate of 1999.
.png)