Sprachen

Suchen

Ohloh Profile

The next version of Gnash has the ability to save screenshots in PNG format. You can either do this through a GUI (Ctrl-O) or by specifying frames on the command line. For the command line, there are two new options: --screenshot and --screenshot-file.

SWF8 added more options to gradient fills. Gnash 0.8.7 does not support these, but it would be possible to add some or all of that support. If you are interested in having this functionality, please contact me!

The XML and XMLNode classes in ActionScript 2 enable parsing and handling of XML trees. Mostly they are used for configuration data or bits of dynamically loaded content. But sometimes - one example is openstreetmap.org's "potlatch" editor - the XML can have thousands of nodes.

Even a simple XML tree with so many nodes has significant memory requirements. We have to store not only the node type, node value and, if appropriate, the node content and attributes, but also links to parent and child nodes.

Our next release of Gnash, 0.8.7, is due in February, and it comes with plenty of changes. This is the first of a couple of posts explaining what I've been working on since the last release and where you can expect improvements.

The inflexible design we inherited from GameSWF is gradually improving to the point where Gnash almost has a stable API for some of its central classes. You still can't rely on it staying the same, but the better design that's emerging (and the fact that Gnash has a design at all now) means that any changes should be limited.

This is a demonstration of a SWF created entirely in ActionScript 3, using only as3compile from the swftools suite.

By clicking on the keyboard, the SWF synthesizes a simple sound and supplies another note that harmonizes with it (though because it has no tonality programmed in, the harmony will sound odd).

The problem of latency here is noticeable: there is a significant gap between clicking on a key and the start of sound playback. Unfortunately the only way of improving this is by reducing the sound quality.

On gershon's YouTube channel is an an interesting example of Gnash's flexibility (and what you can do with some sideways thinking):

Gnash is used with some lua bindings to render a flash movie inside a 3-D game. This makes it possible to use any SWF as an interactive UI that can be developed and tested outside the game - even in a web browser.