On Apr 18, 2007, at 5:21 PM, Andrew Lian -nswc wrote:

Dear All

Please forgive yet another newbie question.

I have stack which plays a sound file played through a playerobject. Its path is identified in the player's "Source" property. Let's say it is C:/sounds/apl.wav.

The file plays perfectly well in the development environment and on my computer.

I now make a standalone application - and it is produced ok. However, my sound file can no longer be heard. Either it has not been automatically packaged into the application or there is a path problem.

I have tried to include the relevant file in the package by using the "Copy Files" setting of the "Standalone application settings" but that seems to make no difference. Is there some legible documentation somewhere of how to prepare the files so that the whole package gets produced correctly with the correct paths? DO I have to respect the original paths and recreate them on any computer which tries to run the standalone?

Andrew,

Most often it's easiest to leave the external media files in a place relative to the defaultFolder. The problem is the default value of the defaultFolder changes when running as a standalone vs. in the development environment. In the IDE, the defaultFolder is the folder containing the Revolution executable. In the standalone environment, the stack in essence becomes the executable, so the defaultFolder is the folder containing the standalone. If you don't explicitly set the defaultFolder to another place on the disk, it will work if you set the filename ("source") property of the player to 'sounds/apl.wav', and then making sure the sounds folder is in the same folder as the standalone. To deal with the difference between the IDE and standalone, I often include the scripting similar to this in my mainstack's stack script:

on preOpenStack
  # set the root folder for all resources
  if the environment is "development" then
    set the defaultFolder to enclosingFolder(the name of me)
  end if

  ## Do this for local data and media files.
  set the baseDir of me to the defaultFolder & "/" & "resources"
end preOpenStack

function enclosingFolder pStName
  get the filename of pStName
  set the itemDelimiter to "/"
  return item 1 to -2 of it
end enclosingFolder

The situation for Mac OS X is slighter more complicated, but easy enough to understand, if you're interested.

One last thing... I never use the "copy files" part of the standalone builder. I find it easiest just to build my standalone then move the needed files or stacks into the appropriate folder.

HTH

Devin

Devin Asay
Humanities Technology and Research Support Center
Brigham Young University

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to