View Single Post
  #234  
Old 09-21-2019, 08:13 PM
echoesoflife echoesoflife is offline
Member
 
Join Date: Aug 2019
Location: Melbourne, Australia
Posts: 15
Default Re: Automation AppleScripts for Pro Tools (Mac)

Thank you Oliver.

Here's the current version of my complicated Memory Location selection.

I see the script clicking on markers correctly, but the Shift is not engaged during the process.

Interestingly enough, today I am experiencing Shift being engaged after the script has finished. Even though it is wrapped around try code.

When I am trying the version of the selection that you have suggested, the script would not click on any of the markers.

It is worth noting that I am using a Hackintosh system, and I am on High Sierra.

Thanks again for your time!

Code:
property shortDelay : 0.1

on doWithTimeout(uiScript, timeoutSeconds)
	set endDate to (current date) + timeoutSeconds
	repeat
		try
			run script "tell application \"System Events\"
" & uiScript & "
end tell"
			exit repeat
		on error errorMessage
			if ((current date) > endDate) then
				error "Can not " & uiScript
			end if
		end try
	end repeat
end doWithTimeout


activate application "Pro Tools"
set timeoutSeconds to 0.2

-- Click the “Window” menu.
delay 0.4
set uiScript to "click menu bar item \"Window\" of menu bar 1 of application process \"Pro Tools\""
my doWithTimeout(uiScript, timeoutSeconds)

-- Memory Locations
delay 0.5
set uiScript to "click menu item \"Memory Locations\" of menu \"Window\" of menu bar item \"Window\" of menu bar 1 of application process \"Pro Tools\""
my doWithTimeout(uiScript, timeoutSeconds)
end run



--selection of markers from Start to End script




tell application "System Events"
	tell process "Pro Tools"
		
		set asWindow to (1st window whose name contains "Memory Locations")
		
		try
			key down {shift}
			tell asWindow
				
				-- click "Start"
				
				repeat with aRow in row of table "Memory Locations"
					if name of static text of UI element 2 of aRow starts with "Start" then click static text "Start" of UI element 2 of aRow
				end repeat
				
				-- click "End"
				
				delay shortDelay
				
				repeat with aRow in row of table "Memory Locations"
					if name of static text of UI element 2 of aRow starts with "End" then click static text "End" of UI element 2 of aRow
				end repeat
				
				
			end tell
			delay shortDelay
			
			
			key up {shift}
			
			
		on error e number n
			tell application "Pro Tools" to display alert "An Error Occurred" message e & " (" & n & ")" buttons {"Cancel"} default button 1
			
			
		end try
		
		
		
		
	end tell
	
end tell



-- Press ⌥⌘B

delay 0.5
set uiScript to "keystroke \"∫\" using {option down, command down}"
my doWithTimeout(uiScript, timeoutSeconds)

-- Click the “Offline” checkbox.
set uiScript to "click checkbox \"Offline\" of window \"Bounce\" of application process \"Pro Tools\""

-- Click the “Bounce” button.
set uiScript to "click UI Element \"Bounce\" of window \"Bounce\" of application process \"Pro Tools\""
my doWithTimeout(uiScript, timeoutSeconds)

-- Click the “OK” button.
set uiScript to "click UI Element \"OK\" of window \"MP3\" of application process \"Pro Tools\""
end run

Last edited by echoesoflife; 09-22-2019 at 10:11 PM.
Reply With Quote