I dunno you go away on holiday for one week and whilst you're away you get Slashdotted ™. There's been a fair bit of
interest and I've turned on directory listing in the stuff directory so that people can have a snoop
around. I've also put some demo code up.
I did actually start working on the project again before Christmas after a long break when I was away travelling around South
East Asia and Australia and then when I got back I had to start a new job. I've got some good ideas about how to turn this from
a proof of concept into a production quality module and when I get some time I'll work on it more. Unless anybody wants to offer
me a job to work on it full time of course <grin>
Ok, it's true there hasn't been an update here for ages but that's because I've been working so hard on it that I haven't had time to update this page.
So, the first beta is done. Yep, that's right. I've finished it. All tags are parsed (well, apart from MP3 frames)
and you can generate SWF files. I have updated the site, written a fair whack about it for my college dissertation
and stuck a load of demo files up. It's all available for download in the stuff directory.
There are some demos up aswell.
I'm away on holiday for a while but I currently own the copyright (which I persuaded my college to let me have) and quite a few
people have expressed an interest in working on it. Mark Fowler is giving a talk
on it at YAPC::Europe so hopefully that should spark more interest
So take a look around and have fun. Or something.
Simon Wistow July,2000
Macromedia recently opened up the file format for their SWF movies. Despite
some rather horrific errors in the original spec, reverse engineering has been done and a correct version, along with
an updated version of swfparse.cpp, an app for parsing SWF files.
SWF is a vector based movie format which has become the de facto standard for web based animations. Unfortunately,
unless you buy the very expensive 'Generator' from Macromedia it cannot interact with the user at a CGI level (so for
example, you cannot type in your name in a form and have that appear on the screen).
I started this project when the company I work for was looking into dynamic Web based animation. Mark Fowler (who owns
TwoShortPlanks, cheers Mark), who'd been doing a lot of work with Java and Flash, came up with the idea of decompiling
SWF files to XML. We talked about it a bit but nothing really came of it. Since I have to do an individual, final year
project at College however the idea came up again. However it has been expanded. The plan now is to have a
Flash::Object which is an internal representation of an SWF/Flash movie. Tags (and hence objects) will be able to be
manipulated, added and removed. In this way it will be possible to create an SWF file from scratch. In addition the
object can be 'loaded' by any number of filter modules. The most obvious input filter is an SWF file but others could
In the same way the object can be 'dumped' via any number of output filters. Again, SWF, XML and SWFparse are the
obvious filters but one interesting one would be to have something that dumps a Perl script which, when run, would
create the SWF file from scratch.
- Out put from SWFparse
I also plan to have variable substitution, so that when you create your SWF file you could have a text string which
has something like "hello $name" in it. By loading this into an SWF object and then doing a call like
All feature ideas are gratefully received.