Script not running in Capture One application

I have a script that I wrote that works fine when run from Script Editor, but does not if run from the Scripts menu in Capture One. I cannot seem to figure out why it will not work. The error I receive when trying to run the script from within Capture One is that System Events cannot find menu bar item 6- invalid index. Does using ‘on run’ change how the script can access the GUI elements? Any help would be appreciated. GUI scripting has always flummoxed me.

on run argv
	try
		if (class of argv is list) then set selectedImage to item 1 of argv
		tell application "Finder"
			set selectedImageName to name of (POSIX file (item 1 of argv as string) as alias)
		end tell

		set styleNameToSet to text -5 through -8 of selectedImageName
		
		tell application "System Events"
			tell process "Capture One"
				click menu item 2 of menu 1 of menu item 19 of menu 1 of menu bar item 6 of menu bar 1
				delay 2
				click button 2 of group 1 of window 1
				delay 2
				set text of text field 1 of window 1 to styleNameToSet
			end tell
		end tell
	end try
end run

Hey There,

Unless you’re running that script from another script the run handler with parameters is misplaced.

You shouldn’t need a run handler at all, and all that argv stuff needs to go.

You’re trying to run a script that REQUIRES parameters WITHOUT feeding it any.


Chris


{ MacBookPro6,1 · 2.66 GHz Intel Core i7 · 8GB RAM · OSX 10.11.2 }
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

No, I am not running the script from another script- at least as far as I can tell. I am running the script from the application Capture One. In its menu bar, there is an item labelled ‘Scripts’. I can point the application to scripts that I have written and then they appear in the menu item within the application to select and run.

Sorry, I should have explained what I am trying to accomplish with the script. I am trying to automate the creation of custom image adjustment profiles that I can then use on other images. The portion of the script I posted is grabbing the filename of the selected image and then clicking on the corresponding menu bar item to save the image adjustments as a reusable profile.

I am using ‘on run’ because I thought I needed to do that in order to capture the selected image so that I can get information from it- namely the filename.

Does that make more sense? The problem I am running into is that I am getting an ‘invalid index’ error when the ‘click menu item.’ line is run. I do not understand why that is.