Try rewriting FlowPlayer 3 from SWF Tools to be a native embed player. More to prove the point that this model is going to work.

Comments

Stuart Greenfield’s picture

I've made a rough cut of this - not yet committed on CVS.

Basically have back-ported the latest FP3 module from SWF Tools and modified it to process an array of elements, and output a new flash element. It's working for single files and playlists, and has the full settings page.

It highlights a few questions:

Where do we get "overide" settings from - the module is currently picking up defaults from the settings page, but should it look at flashvars, or module_data, or both?

When the first theme_object is called, with the audio object, an id is assigned. We then process the object, turn it in to an swf object, and call theme_object again. So our id gets incremented. In 99% of cases that's not an issue, but if the caller set an id then the id on the finished object is NOT the one they started with.

Do we only assign id at the point of output? Ie in handlers that are actually going to return markup? Those that will turn the object in to something else don't? What's the best case if the caller wants to use the id to target JavaScript - possible dynamically? Do we need another flag to say the same id can be handed from handler to handler? Some sort of toggle to say "id has been assigned and confirmed unique"? Somehow the id function needs to know if the id is actually part of the same object, or it is a new object.

I think this may be where we have to use #module_data.

In wider terms, what does this mean for SWF Tools - am I saying that players are no longer part of SWF Tools??! What about the existing user base?

Maybe there's a way to expose the existing players, and keep the old way?!

The next step is try and get another module to talk to FP3 via the embed module. If we can interface two modules that do not currently communicate then we're going in the right direction.

dave reid’s picture

Issue summary: View changes
Status: Active » Closed (fixed)