gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Gnash extensions question


From: Rob Savoye
Subject: [Gnash-dev] Gnash extensions question
Date: Thu, 23 Nov 2006 10:55:06 -0700
User-agent: Thunderbird 1.5.0.8 (X11/20061107)

I've just gotten an extension mechanism for Gnash working, where any
ActionScript class can be a plugin that gets dynamically loaded. This
can also be used to create your own custom ActionScript classes. My
current test class is a DejaGnu one, so it'll be possible to have
testing support built in. I plan to follow the DejaGnu one with a MySQL
one, also to support better automated testing.

Right now I install a Gnash extension in $prefix/lib/gnash/plugins, and
they get loaded from there. Initially the directory is scanned, and all
extensions get loaded. Later on we'll probably only load the extension
if the class is invoked.

I build extensions in gnash/extensions/[extension name], and they get
installed in the right place. Anyway, here's the question... should I go
through the effort to make Gnash load extensions from the build
directory for testing ? Finding $prefix/lib/gnash/plugins is easy, but
figuring out the explicit path to the build tree's version would be
pretty convoluted. I figured I'd see if folks really want this ability
before I go off an implement it that way...

I optionally use GNASH_PLUGINS to set the path, so for debugging, this
could manually be set, but would only get one plugin directory at a time.

If I leave it the way I have it implemented now, you have to install and
extension before Gnash (whether it's installed or uninstalled) can find
it and use it.

Currently the extension mechanism is limited to creating AS classes, but
later on I plan to extend it so it can be used to add core
functionality. As an extension is fully linked into gnash dynamically,
you can actually do anything you want within the extension code, like
accessing internal data structures from the player.

        - rob -




reply via email to

[Prev in Thread] Current Thread [Next in Thread]