We have come up with a solution for the one XML, one .swf Slidesshow Pro installation that allows multiple slideshows on different weblog entries based on Photo Gallery Module album categories.
The solution we are using combines SWFobject, custom php, and custom fields.
NOTE: this is an inelegant solution requiring the client to paste the entire slideshow embed code into a custom field in the weblog entry and then change the number for the Photo Gallery Module album category in the code. We may be working more on this solution to refine it. If so I will post updates to this thread. For now though, this works.
The Slideshow Pro .swf file has been set up to dynamically call the XML file based on instructions from this link from the Slideshow Pro documentation:
http://wiki.slideshowpro.net/SSPfl/C-DynamicallyAssignXML
(We are using Action Scriot 3.0)
The .swf file was then published and uploaded to the folder containing the gallery we are workign with in the Photo Gallery Module. The file is slideshow2.swf
Here is the XML file we are using: 2gallery_xml2
<?xml version="1.0" encoding="UTF-8"?>
<gallery>
{exp:query sql="SELECT cat_folder FROM exp_gallery_categories WHERE gallery_id = '2' AND cat_id='<?php echo $_GET['slideshow_id']; ?>'"}
{exp:gallery:entries gallery="gallery" category="<?php echo $_GET['slideshow_id']; ?>" limit="500"}
{exp:gallery:category_name}<album title="{category}" description="{category_description}" >{exp:gallery:category_name}
{entries}
<a href="http://www.buildinggoodness.org/images/gallery/{cat_folder}/{filename}.jpg">http://www.buildinggoodness.org/images/gallery/{cat_folder}/{filename}.jpg</a>
{/entries}
</album>
{/exp:gallery:entries}
{/exp:query}
</gallery>
Here is the embed code that is entered into the custom field in each entry:
<div align="center" id="flashcontent">
[removed]// <![CDATA[
var fo = new SWFObject("http://www.buildinggoodness.org/images/slideshow2.swf", "foo", "550", "400", "9", "#FFFFFF");
fo.addVariable("xmlfile", "http://www.buildinggoodness.org/index.php/projects/xml_gallery_with_parameter/?slideshow_id=16");
fo.addParam("scale", "exactfit");
fo.addParam("menu", "false");
fo.write("flashcontent");
// ]]>[removed]
</div>
Where slideshow_id = the number of the Photo Gallery Module album category.
You can see examples of the working slideshow on this page:
http://www.buildinggoodness.org/index.php/projects/current_project/tribal_house/
And any page listed as a current project or completed project.