For more on the creation of the new VISP visual app, there’s a terrific story by creator Michael Creighton at Adobe Edge:

Building a visual performance app with Adobe AIR, Flex, and Flash

The advantages of this combination are potent for visual development:

  • File system API (so you can easily manage video clips, generative sketches, whatever)
  • Native window system API (so your UI looks at home on your OS)
  • Flex, for CSS + XML goodness
  • Clarity of the ActionScript 3.0 language (I’m totally onboard with this one, frankly, despite complaints from AS old-timers)
  • Ease of development in Eclipse

As I noted, it looks like MIDI support comes from an external application. But there’s hope for more interesting possibilities in the future, by hooking up VISP to Java via a new AIR-to-Java bridge called Artemis:

Artemis Tutorial

Now we’re talking. It seems Michael is thinking like I was: wouldn’t it be great to have Processing hooked up to all of this? Now, of course, I hoped to do everything on the Java side, though there is that pesky problem with video support in Java being, how shall we say, less than fresh. But, in the meantime, I’m happy to combine the two where it makes sense.

Onyx was a little shorter on the AIR stuff (aka Apollo), which is what lets you manage files from the file system, so I could see some of what’s in VISP benefiting Onyx, as well .. and visa versa.

Now, someone in Javaland: you know you really want to improve Java’s multimedia support. Come on. All the Adobe people are having so much fun. They’re going to have much better parties. Think about it, won’t you? (Yes, unfortunately, Apple is one of the players who could help remedy the situation and they’re extraordinarily unlikely to be interested, but surely there’s a way.)

  • It's funny because my initial stab at creating what-eventually-became-visp was all focused on Processing. I really wanted to create the meta-app that strung it all together in Java — but my Java skills aren't so hot. I know there are some who have created Java apps that can load up multiple Processing sketches at runtime, but there isn't a real overarching application there (with a UI and global handling for OSC / MIDI / etc). So AIR was my only immediate solution.

    As for video playback, I share your concerns with Java's serious lack of support for fast video playback. However, there has been some research by toxi into using the Java Media Framework for video capture — even created a Processing library called LibCV.

    The second alternative (and I can't really comment on how viable a solution this is) is the opensource FMJ Project which aims to replace the Java Media Framework. Development is still underway, however.

  • Hey, Mike, thanks for checking in.

    I think there are enough interesting things about AIR, Flex, and Flash that that's absolutely a worthy direction to go.

    Meanwhile, on planet Java … yes, this is harder to assemble with Java, with or without Processing as an aid. I've worked a bit with JMF … and didn't find it encouraging. It's abandonwear as far as Sun, it's poor on both the capture and codec side, and it's almost completely broken on Mac and somewhat broken on Linux.

    FMJ has a lot more promise; I think that's the direction things will go, honestly. But while Sun goes on roadshows talking about JavaFX, they're missing the boat as far as video, and since Sun still has Java on a tight leash even with OpenJDK, I feel like the solution may require that they step up a little. In the meantime, I'm definitely going to be spending more time with FMJ.