
Because SlideShowPro for Lightroom exports a number of files that work together to load your slideshow content, loading the SWFs it publishes inside of another SWF can be rather tricky. This walkthrough will show you how it's done.
Whether you're working locally or editing files directly on your web server, add the folder you exported content to to your web site's directory.
With your slideshow content where you want it, create an ActionScript 2.0 FLA in Flash and (using ActionScript) code your SWF loader using the loadMovie() method, and pass to it the path to where loader.swf is located on your web site. You can do this with a button's onRelease event, or place the code directly on your timeline. Here's an example of using it with a button that loads loader.swf using a path relative to our parent SWF into an empty Movie Clip:
this.createEmptyMovieClip("empty_mc",1);
my_bttn.onRelease = function() {
empty_mc.loadMovie("slideshow/loader.swf");
}
Note that the path to loader.swf doesn't have to be relative. You can make it absolute (http://) if you'd rather always load the SWF from your server. This can sometimes be less confusing than using relative paths for some developers.
With your ActionScript in place, publish your parent content to create a SWF and an HTML document. The slideshow won't work yet because we need to edit the parent's HTML document to pass in a variable that instructs loader.swf where it can find the param.xml file it will automatically request. To do this, open the HTML document Flash created (or duplicate it first so you don't accidentally overwrite it if you publish again), and add to your player embed code the following:
<param name="FlashVars" value="paramXMLPath=slideshow/param.xml" />
Simply include the above anywhere around the existing param elements that are there. Next, add the following attribute to the embed element:
FlashVars="paramXMLPath=slideshow/param.xml"
If you published from Flash CS3, there's an extra step. You will need to edit the Javascript portion of the player embed code as well. Create a new line before the salign attribute at the bottom of the AC_FL_RunContent method parameters, and include this:
'flashvars','paramXMLPath=slideshow/param.xml',
Be sure to include the comma at the end if adding this before salign. Otherwise the JavaScript code won't work.
When complete, save your HTML document and close it.
Now that we have our loader.swf loading, and we've successfully instructed it where to find the param.xml file it needs, we can edit param.xml to provide information as to where the slideshow.swf file is located. To do this, open param.xml in your text editor and look for sspSWFPath in the customParams element. By default it will simply read "slideshowpro.swf." Change this to a path that's relative to where your parent SWF (the one loading loader.swf with the button code above). For example, if my parent SWF were in the same directory as my "slideshow" folder, I'd change the value to the following:
sspSWFPath="slideshow/slideshowpro.swf"
Note that you can also make this an absolute path (http://) as well if you'd rather not link to it relatively.
When complete, save param.xml and close it.
With all of the above in place, load your parent HTML document in your web browser. If all goes well you should see your Lightroom slideshow functioning inside your parent SWF movie. If not, here's a tip -- use Apple's Safari web browser when testing your HTML document, and open the Activity panel (Window > Activity). It will display (in red) any invalid URLs that were requested. This can often times quickly point out where the issue may be.

