Main

January 16, 2010

64bit support is coming

Supporting 64bit is not very important when most of your code is in Java. But Teppefall does have around 300kb of C++ that needs to be ported. And the process is something like this.


  • Install crazy big Windows SDK and Visual Studio on Windows 7.

  • Realize that the Windows documentation is wrong when it comes to "vcvarsall.bat amd64".

  • Dig around for a while.

  • Find the correct BAT based configuration files and drag them into the application menu.

  • Create custom makefiles.

  • Scratch your head as Microsoft uses the suffix "32" in paths and library names everywhere.

  • More mind numbingly boring rewriting of makefiles.

  • Everything compiles, but Winsock related code is broken. Might be configuration. Might be worse.

  • Realize that 64bit JRE writes a registry JVM value that points to a non-existent file. My fault ?

  • But the code supports that, so just use TEPPEFALL_JVM variable.

  • Success!


Itanium support is probably not happening. The compiler can't find "Windows.h" under the IPF configuration and that's kind of a problem unless I want to dynamically load every method. 64bit Windows 7 also seems to crash some plug-in based systems. They keep changing the security model and developers are behind all the time for some reason. Although, the same problem exists on 64bit Linux. Which is stranger since 64bit compiler support is just a GCC parameter away.

December 11, 2009

Which one is Swing and which one is WPF ?

Teppefall Media Player (91).png

Teppefall Media Player (93).png

The volume component gives it away. But Silverlight 4 may change that.

November 14, 2009

WPF MediaElement and Qt Phonon demos released

You can now compare the Swing JMC system with the WPF and Qt equivalents. These Windows programs are beta quality and not feature complete. The big problem here is of course that the latest version of JmediaPane is not available to anyone outside the big castle surrounded by fire breathing dragons. And therefore bug reports and general feedback is just a colossal waste of time.

Continue reading "WPF MediaElement and Qt Phonon demos released" »

November 06, 2009

A new look

Testing out the new Substance 5.3 Gemini theme (SubstanceGeminiLookAndFeel). Looks pretty good. Now supported through executable parameter -Xgemini.

Teppefall Media Player (70).png

Teppefall Media Player (74).png

Teppefall Media Player (72).png

Teppefall Media Player (73).png

November 05, 2009

This is why I still use Java Swing

This is the latest MP prototype. Since JmediaPane is nowhere, I'm experimenting with forms and other boring things. Everything is scalable and the application can be broken down into small visual parts without compromising usability.

I'm using MigLayout for forms, CardLayout BorderLayout FlowLayout GridLayout BoxLayout AssemblyBoxLayout for center panels and Teppefall Layout assemblies make up each individual panel. I then just update one panel at a time in TL. Most of the layout code was written almost two years ago, but TL makes reuse very simple.

The clue behind this application is that almost all the UI layout code is in XML. I just use TL for visual and i18n updates. The idea that JavaFX syntax will make layout easier sounds completely delusional to me. The reason people use XML is because XML is a data format. My TL assemblies are just like Apple's NIB/XIB. And Teppefall Hybrid is sort of my version of Cocoa NSApplication.

The text should probably be a little bigger though. Swing application text looks tiny compared to WPF.

Teppefall Media Player (63).png

Teppefall Media Player (66).png

Teppefall Media Player (67).png

Teppefall Media Player (68).png

September 21, 2009

Comparing Swing with WPF one more time

Here are two similar screenshots. Sun uses a pretty brutal video scaling algorithm and this is a better screenshot than the one below this post.

Sun seems to be in a coma, so I'm only working on the WPF version.

Teppefall Media Player (58).png

Teppefall Media Player (WPF) (7).png

August 05, 2009

Java Swing versus WPF running on Windows Vista Chuck Norris Edition.

Do you know what a guy like me does when Sun Microsystems refuses to release JMediaPane, a Swing API that was announced almost three years ago ? Do I create a lot of JavaFX code and then go into a corner and cry ? No... I create the same media player in Microsoft WPF and C#. That's what people like me do. Yeah, Chuck Norris approves this message !

Teppefall Media Player (54).png

Teppefall Media Player (WPF) (6).png

Continue reading "Java Swing versus WPF running on Windows Vista Chuck Norris Edition." »

Java Swing versus Adobe Flash/Flex

This is really a stupid test, but I'm showcasing this just to give Adobe a little hint. This my JMC based video player playing four FLV encoded videos versus playing one FLV video in the Adobe Media Player. A lot of memory is being used by the AMP streaming logic, syndication system, image cache, theme system, animation engine and such but the memory usage is still pretty spectacular. But that's not the most shocking issue. The CPU usage is for some absurd reason in the same ballpark. Give or take a few ballparks in scientific accuracy.

Teppefall Media Player (43).png

Adobe Media Player (7).png

Continue reading "Java Swing versus Adobe Flash/Flex" »

April 27, 2009

Teppefall Preview

Created this installer for really lazy people - Teppefall Preview. I built this system for testing, so expect error messages and missing functionality.

I will not be releasing signed versions.

April 20, 2009

Provocation, hype and screenshots

Ignoring people. Empty talk does not pay my bills.

Better than Adobe MP ? OMG ! Meh, no numbers to back it up yet. 40+ threads might be positive. Lean.

Status
You can now select which screen is the primary fullscreen. Entering fullscreen mode and running fullscreen is fast, but exiting fullscreen mode under a non-native LAF might result in a very slow Windows Explorer on Vista for a short time (10 seconds max).

Teppefall Media Player (20).png

Teppefall Media Player (21).png

Teppefall Media Player (22).png

Untitled-1.png

Untitled-2.png

April 02, 2009

Picture of a Java Swing developer

picture-of-a-swing-developer2.jpg

I was playing with my bone (JMediaPane) and then I checked out the rope thingy (JWebPane) and now.. well.. I am just drinking beer because I am waiting for the lawyers.

Woff. Woff.

Image credit: http://revision3.com/diggnation/.

March 30, 2009

Swing looks and feels pretty good

Performance is better than ever. A window shadow API would be nice though. Poor Vista LAF.

Teppefall Media Player 0.91 BETA (2).png

Teppefall Media Player 0.91 BETA (3).png

Teppefall Media Player 0.91 BETA (4).png

March 18, 2009

Teppefall Media Player 0.9 beta released

The Teppefall Media Player is now available as a beta for Windows and Mac OS X. Java 1.5 or higher required.

Try running four or more Flash videos at the same time and then compare with the other players. The Adobe Media Player and VLC seems to be less scalable.

March 17, 2009

Latest screenshots - Mediaplayer, etc

Using Substance 5.1 Graphite now. Titanium delayed. Code separation and threading eating my time. Sun developer world feels fragmented and hype oriented. Maybe I am too young ?

Teppefall Media Player 0.9 BETA (6).png

Teppefall Media Player 0.9 BETA (5).png

Colorspace (21).png

Teppefall Capture (54).png

Colorspace (20).png

EmbeddedApplication.png

mediaplayer.jxml - Teppefall - Google Chrome.png

March 03, 2009

Teppefall Media Player screenshots

Still working on the Teppefall Media Player. Not sure if there is any point in creating this software. Hybrid is ignored by pretty much everybody. It is so comical to read 6000 articles about how Flex/GWT/Gears is not private static final volatile boolean TOTAL_VENDOR_LOCK_IN = true; Or about how 12 lines of Groovy will solve all your problems. I could support all the features of the Adobe Media Player, but why spend that much time and money on something that might only be used by a 1000 people.

Anyway, JMC 1.1 was a huge improvement. But I still do not understand the threading model or the seek/timing logic. There is no documentation and I am simply coding in the blind using only public API's. Performance is great and memory use rivals that of the Adobe Media Player. The Adobe player is a bit of a memory hog, but this is simply because of pictures, extra layout, RSS importers, advertising and branding rather than a bad design.

I have some prototype Rome RSS/ATOM based code that solves the channel import problem, but using a custom DOM parser is easier from an API perspective. Unfortunately, the web is filled with "creative" XML and then you go back to Rome again.

Also, fullscreen mode works perfectly and the OSX/PPC libraries have decent performance.

Medium quality FLV (Flash video).
Teppefall Media Player 1.0 BETA.png

High quality FLV (Flash video).
Teppefall Media Player 1.0 BETA (4).png

August 25, 2008

Kvitre redux

Kvitre (15).png

If anyone can tell me how to do a variable height Jlist cell renderer that supports in-line HTML links and correct text flow, than I'm all ears. I'm just completely stumped. Hans Muller and Scott Violet have both failed to create such a renderer.

I was thinking HyperlinkListener and JEditorPane, but that doesn't seem to work at all. You can do something like this, but that doesn't solve the problem. The links are not active and the text is obscured. (Kvitre's frame resize grabber is in the top left, rather than right bottom)

Kvitre (16).png

The border color blending is also a challenge.

Kvitre (17).png

Only the top graphic is hardcoded. Everything else is Java 2D and icons.

Kvitre (18).png

August 14, 2008

So much work

Here are some prototypes that didn't make it. I'm not saying that they will never be made. I just don't see a marked for them at this time.

Image scaler
Image scaler
Twitter client
Twitter client
Application lancher (think AIR)
Application lancher (think AIR)
Internet login (think Valve Steam)
Internet login (think Valve Steam)
Color palettes
Color palettes

July 30, 2008

Cute girls are now more tech savvy than me

Watch Burt Rutan (Scaled Composites) on iJustine's QIK stream showing off "Eve".

And.. just in case.. cute can be replaced by "intelligent", "smart", "clever", "well read", "organized", "impressive", "normal", "standard", "some", "random", "one", "a" and many other words and articles in the English dictionary. But I'm tired right now and "cute" sounds better as a title. So there ! Man Power ! Bææææ !

June 10, 2008

Teppefall Kvitre prototype

Just playing around with Java 1.6.0_10-beta-b23. The shaped window is a bit ugly in the edges, but this is the best I can do for now. The resizing is a bit wonky as well. I have to redesign parts of the LAF if I want something better. Might be too much work, who knows. The transparent window feature is working well, but might be too annoying. Also, the top black area lets you drag the entire application. This guy got some huge skills.

Kvitre is just a byproduct of Capture. My plan was to check out the JavaFX media stack before I release something, but that is taking forever so who knows. Feels extremely stupid to release code that depends on Java Media code from the stone age. And the Jmyron video decoder that I use is great for crashing virtual machines. Sun needed all this time just to implement something that was cool seven years ago (Windows XP from 2001) ? Does not bode well for JavaFX.

I would say that 1.6.0_10-beta-b23 is really Swing 1.0. Now we actually match native code for the first time.

A lot of noise about Sun developers leaving for Adobe. Who cares ? Adobe Flex needs all the help it can get. The bullshit factor is through the roof. Flex and GWT are fighting over the prestigious “most horrible user experience” award. I thought we Swing developers had that shit down.. but now we got competition !

Teppefall Kvitre

Teppefall Kvitre small

Teppefall Kvitre black

Background images by Taylor.

April 24, 2008

Mixing FX and Layout

I am not sure if people are aware of this, but you can run Teppefall FX scripts within Teppefall Layout.

scheme.jfc - Teppefall Layout (14).png

scheme.jfc - Teppefall Layout (15).png

Also, here is Colorspace in Titanium White LAF.

Colorspace.png

March 19, 2008

Writing Teppefall applications in Javascript

It was never my intention to write Teppefall applications in Javascript, but here is a simple example on how to do it. The update system, the DSR (Teppefall Runtime) launcher and some Application logic is not available at this time because of dependency problems. It is hard to use Javascript when the concept of a Class is replaced with something else. And working with all kinds of adapter logic is also pretty confusing.

If you want to run this example, just move the /network_app folder into the Teppefall SDK root folder and run Network.cmd or NetworkOSX.sh. This demo showcases plugins, the taskbar icon, layout and basic setup.

You have to download Teppefall Layout to get the original layout file used in this example.

Teppefall SDK Javascript example: network_app.zip

network.js
network_plugins.js

Teppefall Network Teppefall Network

Continue reading "Writing Teppefall applications in Javascript" »

February 27, 2008

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 (“.”).

Teppefall Layout - Capture

Continue reading "Teppefall Capture – From prototype to application" »

February 24, 2008

Introducing Teppefall Capture

This application is still a work in progress, but I am tired of keeping it a secret so here is the dirt. Teppefall Capture is a simple Photo Booth clone. By simple I mean it is built on the FX/Layout stack, has an OpenGL powered live preview (JOGL + TextureRenderer) and gets its video feed from a custom video capture library.

Teppefall Capture

Continue reading "Introducing Teppefall Capture" »

November 22, 2007

Photoshop Express in Java and Titanium White LAF

Experimenting with a new white version of Titanium LAF. It is pretty difficult to create something that is not completely bland. Car white is a complex creature indeed. Especially when trying to turn it into a usable user interface.

Also been playing around with a Photoshop Express clone. Testing out transparent components, live image resizing, huge bitmaps and custom renderer's. Performance is not where I want it to be, even when using the latest early access builds from Sun. But I think it is more about CPU performance than GPU, so some tweaking might make it better.

express_clone.png

Continue reading "Photoshop Express in Java and Titanium White LAF" »

October 31, 2007

Screenshots of Project Amanda (prototype)

Here are the first screenshots of Project Amanda. These are UI mockups done in Darkstar Layout and all the code is in XML and Javascript. Please understand that this is not a real application. This is a super-duper alpha and it might not get built at all.

Darkstar Layout does not support includes, but it does support Java components. So I am simply creating multiple Layout objects (com.teppefall.ds.layout.Layout) within one Layout object and replacing the layout at runtime through drag and drop. So these four UI states are actually made up of eight XML files. Each a component on its own and reusable in other applications.

Project Amanda might become a small rich Internet application developer environment. It is simply a remix of my current code base. Colorspace is the most downloaded application so far, so there might be some interest in fast, to the point, creative tools. I might use some of Adobe's RIA standards to keep things simple.

But again.. this is just me thinking out loud.

Project Amanda

Continue reading "Screenshots of Project Amanda (prototype)" »

October 15, 2007

Project Amanda

Something I am working on. Might be the next application. Who knows.

SKJERM_1.jpg

SKJERM_2.jpg

October 09, 2007

SVG and Darkstar FX

I have been playing a little with Kirill's SVG to Java transcoder and then manually converting the Java code into Javascript based Darkstar FX renderer's. Very tedious, but good fun nevertheless. I had less success with the SVG to JavaFX converter, but that might just be a case of me using old software.

There are at least four SVG importer pipelines available for Java, so there seems to be some interest in this.

svg1.png

svg2.png

svg3.png

May 27, 2007

Writing Darkstar applications in Python

You don't have to use Java in order to create Darkstar applications. Here is a simple project I wrote in Python - py_dsi.zip.

Darkstar application written in Python

Continue reading "Writing Darkstar applications in Python" »

May 22, 2007

Edit this page

Press this link if you have Java 6.

Install Alter

The application might hang due to a thread/UI/IO problem. This is labs.teppefall.com after all. It is probably a race condition. I changed the threading code last week and it bit me in the ass.

May 21, 2007

Another Photoshop mock-up

Has anyone implemented a multibutton like this ? Mac OS X use them in tabs and they are common in tools like Dreamweaver.

Multi button Photoshop mock-up

May 16, 2007

Photoshop mock-up

Intelligent forms should make the JFC experience more inviting. Subtle hints are more user friendly than "ERROR ERROR" after move, click, move, click, move, click, click, etc. The inspiration comes from the Web 2.0 movement, but the concept is very old. Very 1999 I guess.

This is just a Photoshop mock-up by myself, but according to some trusted sources we might see this functionality very soon.

Form hints Photoshop mock-up

May 11, 2007

Darkstar Apollo/MXML compiler

I wrote a Apollo/Flex compiler this week that compiles into 100% Java. Just a toy.. it implements like 1,5 percent of Flex and has no Actionscript or SWF support.

Darkstar Apollo/MXML compiler example

You can transcode SWF to Java FX, Actionscript can be mapped to Java.. but that still means no video, no mp4 and no video capture support. There is no point.. People use Flash BECAUSE it supports these things.. not because it is in XML.

Continue reading "Darkstar Apollo/MXML compiler" »

This website is all about alpha and beta software

Download non-beta software here