Most of the times, when we do any content using Adobe Director, it will be either for CD/DVD distribution or through web distribution which can be played using Adobe Shockwave Player. In the Pre-Director 11 era, there were certain tasks which we had to do manually which of course is time consuming (I’m sure there are developers who would like the manual way :) ). To explain it better, let’s take the following scenario;
Let’s say I’ve created a movie containing Linked Files, I’m using references to some of the external files through scripting and I also want to bundle few files with my Distribution. By the way, I’d also like to have an external cast to be used in the movie. Taking this scenario as an example, let’s understand how I would distribute the content as Stand Alone Projector and Web Published Shockwave.
While creating Projector, generally developers prefer the projector to be small in size without any Xtras bundled into that by default just to make sure the launching time is minimal. So they would exclude all the xtras too. So typically I would do the following;
- Publish the projector files
- Create a folder named ‘Xtras’, locate the xtras required and copy them to this folder.
- Manually locate all the linked files and place them in the folder where projector is published
- Locate all the files which I’ve referenced in the movie and copy to the distribution folder accordingly.
- Also, locate all the files which I want to distribute with my projector content apart from the linked files.
- For the external cast, protect the cast as .cxt and place it in the appropriate location next to projector.
Now, let’s talk about how I would distribute the same content through web which can be played using Adobe Shockwave Player. In case of Shockwave content, I don’t have to worry about the files referenced within the content through scripting because it can be a web URL too. So, I would do the following;
- Before creating the content itself, place all the Linked Files (if any) in a folder called ‘dswMedia’
- Now navigate to dswMedia folder and link the files in Director
- Save the movie
- Publish the DCR and HTML files , ideally next to dswMedia folder.
- For the external cast, protect the cast as .cct and place it in the appropriate location next to DCR file.
We will now discuss how this process is improved with the Enhancements to Publishing process in Director 11. With the enhancement, following tasks are automated;
- Creating ‘Xtras’ folder and copying the required xtras for the projector to run
- Creating ‘Linked Files’ folder and copying the required linked media files into that folder. In this case, the folder structure would be maintained as it is. And also the links to these files will maintain or changed to make it work with the Projector.
- Creating ‘Dependent Files’ folder and copying the dependent files next to the Projector
- Protecting the external cast as CXT and place it next to the projector and protecting as CCT and placing it inside dswMedia folder.
ll these can be possible the enhancements in Director 11. There are few tweaks done to the Publishing Dialog to enable these improvements.

As shown above, the checkbox “Copy linked and dependent files” should be checked to make all the publish enhancements come into effect. Else the behavior will be similar to Pre-Director 11.
Dependent files are those files needed by projector/shockwave, apart from linked files, to run the movie. For example, any external file referenced through scripting can be a dependent file. Such files can be added in the ‘Add Dependent Files’ section to make sure that they are not missed out. Once added, Director takes care of all dependent files by publishing the same. So, user need not manually copy them, to make the published files work. Director creates “Dependent Files” folder depending on whether or not the same is relative to movie folder
Lets take the following examples to see how publishing works. These scenarios hold good only if “Copy Linked and Dependent Files’ checkbox is checked in Files tab.
Scenario 1:
Movie contains Linked Files : Yes
Movie contains Dependent Files : No
External casts are used : No
Location of linked files : C:\
Location of movie : C:\MyMovie.dir
Publish to : Location where movie is saved, i.e.; C:\MyMovie
After publishing projector and shockwave , at C:\MyMovie , we find
Projector:
- MyMovie.exe
- Linked Files -> (all files linked from C:\ )
Shockwave:
- MyMovie.dcr
- MyMovie.htm
- dswMedia -> Linked Files -> (all files linked from C:\ )
Now to distribute the movie, simply place the projector and Linked Files folder in the desired location. No need to manually look for files which are linked. In the above scenario, if we have Dependent Files at C:\ , we notice that “Dependent Files” folder is created at the published location. These folders are created because they are not relative to the movie path
Scenario 2:
Movie contains Linked Files : Yes
Movie contains Dependent Files : No
External casts are used : No
Location of linked files : C:\MyMovie\MyLinkedFiles
Location of movie : C:\MyMovie\Movie.dir
Publish to : Location where movie is saved, i.e.; C:\MyMovie
After publishing projector and shockwave , at C:\MyMovie , we find
Projector:
- Movie.exe
- All linked files will be in C:\MyLinkedFiles\
Shockwave:
- Movie.dcr
- Movie.htm
- dswMedia -> MyLinkedFiles -> (all files linked from C:\MyLinkedFiles )
Here “LinkedFiles” folder will NOT be created as the path is relative to the folder where movie is located.
Scenario 3:
Movie contains Linked Files : Yes
Movie contains Dependent Files : Yes
External casts are used : Yes
Location of linked files : D:\
Location of movie : C:\MyMovie\Movie.dir
Location of External Cast : C:\MyMovie\ExtCast.cst
Publish to : Location where movie is saved, i.e.; C:\MyMovie
The files are linked to the external cast, not the internal one
After publishing projector and shockwave , at C:\MyMovie , we find;
Projector:
- Movie.exe
- ExtCast.cxt
- Linked Files > (All files linked from D:\ will be placed here)
Shockwave:
- Movie.dcr
- Movie.htm
- dswMedia -> Linked Files -> (all files linked from D:\ will be placed here)
- dswMedia -> ExtCast.cct
Director will take care of creating .cct and .cxt files for external casts for running shockwave and projector respectively. Relative paths will be checked for .cct and .cxt files also. If the casts are saved in a folder which is relative to the movie path, then .cct file is copied to dswMedia and .cxt file to the location where projector is published. In case of non-relative paths, the same sub-folder structure path to copy .cct and .cxt files are maintained.
Backward Compatibilty with Pre-Director 11 content: As we were discussing about Enhancements in Publishing, I was thinking that talking about Backward Compatibilty Changes would also be helpful. With additional features in Director, including the Unicode, content created with Pre-Director 11 era might have a little difference when played in Shockwave 11. So to make this experience smoother, there is an improvement in the player wherein if the Shockwave player detects it that the content was developed using pre-Director 11, it will download the compatibility components to play that content smoothly. Following is the tweak done to the publishing template;
Pre-Director 11:
<object classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=10,0,0,0"
ID=a width=320 height=240>
<param name=src value="a.dcr">
<param name=swRemote value="swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='true' ">
<param name=swStretchStyle value=none>
<PARAM NAME=bgColor VALUE=#000000>
<embed src="a.dcr" bgColor=#CC00FF width=320 height=240 swRemote="swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='true' " swStretchStyle=none
type="application/x-director" pluginspage="http://www.macromedia.com/shockwave/download/"></embed>
</object>
With Director 11:
<object classid="clsid:233C1507-6A77-46A4-9443-F871F945D258"
codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=11,0,0,0"
ID=b width=320 height=240 VIEWASTEXT>
<param name=src value="a.dcr">
<param name=swRemote value="swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='true' ">
<param name=swStretchStyle value=none>
<param name=PlayerVersion value=11>
<PARAM NAME=bgColor VALUE=#000000>
<embed src="a.dcr" bgColor=#000000 width=600 height=400 swRemote="swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='true' " swStretchStyle=none
type="application/x-director" PlayerVersion=11 pluginspage="http://www.macromedia.com/shockwave/download/"></embed>
</object>
If you observe the above code, a new parameter is introduced, 'PlayerVersion' and the value is set to '11'. This will help the shockwave player to detect that the content was developed using Director 11. One thing developer need to remember is to make sure this parameter is available for all the content developed using Director 11. If this parameter is not available, Shockwave Player thinks it to Pre-Director 11 content.
Feedback:
If you have any questions or comments concerning this
article, please send a message to lavanya_gss@yahoo.com
|