As we first reported here a couple of weeks ago, Michael Lotz has been working (among other projects) on a Gnash port. Yesterday I wrote him, asking if he could give a status update on his
work. Being the nice guy that he his, not long after I had his reply, which I'm sharing with you now. Click below to read it (and see the screenshots), in the first person.  

The current state of things is as follows:

  1.  I've switched to the CVS version of Gnash which has fixed many issues and improved on the capabilities a lot. The problem with that is, that it makes things more complicated on the porter's end as the boost crap is used more and more which needs some improvising to get
    things working without an actual port of boost.
  2. Sadly, things on CVS tend to get broken from time to time. Currently movie playing is essentially broken. I'll have to wait for some fixes until the port gets useful again.
  3. The build system makes things more complicated than necessary (I never understood the need for all of this auto* that builds scripts to build scripts that then eventually build other scripts to actually build something). That's why I have setup a simple and more straight forward build logic that just builds a libgnash.so out of everything (with one makefile). Sure it doesn't handle dependencies, but the project is small enough to just do a full recompile once in a while. A jam system would probably be the best solution, but as it is now it works well enough.
  4. The libgnash.so will make things easier for application developers that want to embed Flash movies. It does not require the project to link to the many static libraries that are usually built for Gnash. I've also setup a single header that can be used to interface and embed a GnashView into your average application.
  5. The issues with the monolithicy of the whole Gnash project has been more or less resolved. I introduced some hacks to work around the use of global variables. They are now bound to their player and loader threads. This makes things a bit more indirect and thus slower, but it
    is possible to play multiple movies after each other or even at the same time inside a single application.
  6. I managed to get sound working ok. The problem is that I use (or abuse) the MediaKit heavily. I'll have to come up with some strategy to lower resource waste here before releasing a version with sound enabled.

Michael has successfully tested Gnash under Haiku, hence the title to this article, according to the message shift since the port news first appeared.

Michael also knows what a voyeuristic bunch we all are, so he made available three new screenshots of gnash in action. The first one is of a simple application that embeds four GnashViews and plays movies that are dropped on them in parallel:

Click me...

The second one shows two plugins embedded into Firefox which shows that the global variables are now separated enough:

Click me...

In the third shot you can see the Gnash standalone player under Haiku:

Click me...

Thanks a lot to Michael not only for his work on this port but also for taking the time to write such a detailed status update. As he mentions in part 2, things are currently broken in CVS, which stops him from releasing anything, but he does say that, if necessary, he'll revert to an earlier checkout to be able to make a public release. Stay tuned!