![Applescript 如何打开音频 MIDI 设置的网络窗口](https://linux22.com/image/1556491/Applescript%20%E5%A6%82%E4%BD%95%E6%89%93%E5%BC%80%E9%9F%B3%E9%A2%91%20MIDI%20%E8%AE%BE%E7%BD%AE%E7%9A%84%E7%BD%91%E7%BB%9C%E7%AA%97%E5%8F%A3.png)
我正在尝试编写一个 Applescript 来使用创建网络音频连接音频 MIDI 设置(/应用程序/实用程序/音频 MIDI 设置.app)。我无法打开网络设置窗口。似乎有一个图像,我必须单击它才能打开网络窗口。
这是我尝试过的:
tell application "System Events"
tell process "Audio MIDI Setup"
set {xPos, yPos} to position of image 1 of group 1 of scroll area 1 of window "MIDI Studio"
end tell
end tell
tell me to do shell script "/usr/bin/cliclick c:" & xPos & "," & yPos
click at {xPos, yPos} --image "Network" of group 1 of scroll area 1 of window "MIDI Studio"
delay 0.1
--click image "Network" of group 1 of scroll area 1 of window "MIDI Studio"
答案1
你是对的,你提到的图像有一个与之关联的 AppleScript 操作,它应该打开MIDI 网络设置窗口,但实际上,它什么也不做。
因此,作为一种解决方法,打开MIDI 网络设置窗口,试试这个:
tell application "Audio MIDI Setup" to activate
tell application "System Events" to tell process "Audio MIDI Setup"
(******************Variable declarations for GUI objects*******************)
set _W to a reference to (every window whose ¬
description contains "floating window" and ¬
name is not "MIDI Network Setup")
set select_all_menu_item to ¬
a reference to menu item "Select All" of ¬
menu 1 of ¬
menu bar item "Edit" of ¬
menu bar 1
set show_midi_studio_menu_item to ¬
a reference to menu item "Show MIDI Studio" of ¬
menu 1 of ¬
menu bar item "Window" of ¬
menu bar 1
set midi_studio_window to a reference to window "MIDI Studio"
set midi_studio_toolbar to a reference to toolbar 1 of midi_studio_window
set midi_studio_images to a reference to images of ¬
group 1 of ¬
scroll area 1 of ¬
midi_studio_window
set show_info_button to a reference to (the first button of ¬
midi_studio_toolbar whose description is "Show Info")
(**********************End of variable declarations************************)
if not (midi_studio_window exists) then click show_midi_studio_menu_item
tell midi_studio_window to perform action "AXRaise" -- bring window to front
if the front window is midi_studio_window then
tell select_all_menu_item to if it exists then click it
--OR: keystroke "a" using command down
if the show_info_button is enabled then
click the show_info_button
click (every button of _W whose subrole is "AXCloseButton")
tell window "MIDI Network Setup" to perform action "AXRaise"
end if
end if
end tell
如果您对此有任何问题,请发表评论,我会回复您。否则,请考虑选择此答案,以帮助指导其他遇到类似问题的用户。
答案2
我无法让你的脚本工作,它没有打开“MIDI 网络设置”窗口,我不得不在下面的行中将“描述”更改为“标题”,将 show_info_button 设置为对(¬ midi_studio_toolbar 的第一个按钮,其描述为“显示信息”)的引用
答案3
该脚本正在执行以下任务:告诉应用程序“音频 MIDI 设置”激活告诉应用程序“系统事件”告诉进程“音频 MIDI 设置”告诉菜单栏 1 的菜单项 2 菜单栏 1 的项“窗口”
if name is "Show MIDI Studio" then click
end tell
end tell
tell process "Audio MIDI Setup"
set {xPos, yPos} to position of image "Network (Online)" of group 1 of scroll area 1 of window "MIDI Studio"
do shell script "/usr/local/bin/cliclick dc:" & xPos & "," & yPos & ""
end tell
结束告诉告诉应用程序“音频 MIDI 设置”退出