>Can you give an example that shows this? You mean of the code? Here it is, sorry about the length (it'd need changes to the hard file names to work elsewhere.) You need the freeware program Play Sound at http://microcosmsoftware.com/playsound/. I have a version with a longer AS that just talks to QuickTime, but it gets the same errors (also included.) ~wren
#!perl -w $PlayAiff_AppleScript = <<END_SCRIPT; ### the short script using Play Sound property my_current_directory : "Ezekiel:School-Thesis recordings:MYGROUPNAME:" set soundFile to (my_current_directory & "MYFILENAME") as alias ignoring application responses tell application "Fuchikoma:Applications:[ AV Utilities]:Play Sound("X"1.0.6):Play Sound" play (soundFile as alias) quit end tell end ignoring END_SCRIPT $Alt_PlayAiff_AppleScript = <<END_SCRIPT; ### the long script using QT property my_current_directory : "Ezekiel:School-Thesis recordings:MYGROUPNAME:" property this_item : a reference to alias (my_current_directory & "MYFILENAME") on run -- NOTE that the variable this_item is a file reference in alias format -- FILE PROCESSING STATEMENTS GOES HERE try tell application "Fuchikoma:Applications:QuickTime Player X6.1" launch -- bypasses promo movie activate my toggle_suppress(true) stop every movie close every movie open this_item set position of window 1 to {2, 20} play movie 1 try repeat if done of movie 1 is true then exit repeat else delay 3 end if end repeat close movie 1 end try end tell my toggle_suppress(false) return true on error error_msg number error_num my toggle_suppress(false) if error_num is not -128 then activate display dialog error_msg buttons {"OK"} default button 1 end if error number -128 end try end run on toggle_suppress(status_flag) tell application "QuickTime Player X6.1" set ignore auto play to the status_flag set ignore auto present to the status_flag end tell end toggle_suppress END_SCRIPT ##### begin the actual perl $group = 'A'; &PlayAiff('e-1a2.aiff'); sub PlayAiff { my $filename = shift; # get passed filename my $PlayAiff = $PlayAiff_AppleScript; # make local version of script # interpolate file & folder names for local script only $PlayAiff =~ s/MYGROUPNAME/Group A/g if ($group eq 'A'); $PlayAiff =~ s/MYGROUPNAME/Group B/g if ($group eq 'B'); $PlayAiff =~ s/MYFILENAME/$filename/g; MacPerl::DoAppleScript("$PlayAiff") or die ("Couldn't run script: $!\n", @$); } __END__