[Top][All Lists]
[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 -