WordPress SWF plugins have annoying limitations, as I have noted several times. If you import an SWF, and you’ve coded this SWF movie so that it is supposed to load a second, external, SWF, it just won’t work. The Loader.load “method” apparently will not function from within the SWF. (This is why my funny-TV examples below are not true SWF players: these demos are just QuickTime exports redistilled into SWFs.)
However! I now think this is not entirely a WordPress plugin problem. It really is about limitations in the Loader class. The Loader is the little nugget of code that you call on when you need to load a SWF or still image. It sets up an imaginary container for your picture, and then when you say “load” it loads. Pretty neat… but not perfect.
I have been experimenting with a new portfolio site (margotdarby.com). This portfolio site is XML-driven. You click on a thumbnail image, and the Listener then triggers the Loader to load the corresponding full-scale image (usually JPG or SWF). All works well, except for our TV players–they won’t load the SWF video.
I don’t see any compile error when I generate the main SWF for the portfolio, so the code itself doesn’t seem to be buggy. I suspect the problem is simply that the Flash compiler doesn’t “see” the load command in an external SWF because the Loader code can only do its magic from the main document level, and I am expecting subsequent SWFs to call each other, like this:
………………………………………………………………………………………………………..(3)another External Movie SWF
…………………………………………..(2)External Movie SWF>which tries to load>
(1)Main Document SWF>loads>
So one answer would be to hard-code the full address into the main document, something like: swfPlayer.Loader.load(request). I know this works, because I used it in a classroom project I built. However, that project used the same loader over and over to put external SWFs in the same TV screen. In this portfolio project, I am using a mix of different players and media types.
If perfection and elegant coding were my goal, I could write a separate class for each type of SWF player, and hard-code the full address of the top-level loader that the final external SWF goes into. But that would be a maddening amount of work, would destroy the simplicity of my one-size-fits-all XML interface (which doesn’t care whether you’re loading a SWF or a PNG or a JPEG), and would essentially mean writing a sub-routine for every single SWF-player example.
I am not a programmer and the very thought of that makes my head hurt. So I’ll keep phoneying it up, and/or create a separate site for multi-level SWF players.