I’ve got a question that I haven’t see before here: I know you can use System Events scripting to change the output (or input) device. BUT…is there a way (besides having to run SE) that you can just determine which device is currently active?
My headphones are great but they are VERY sensitive - when they’re plugged in I have to set the volume down to the lowest setting (plus crank down iTunes’ volume to about 2/3) or I blow my eardrums out.
Just curious if there is a way programmatically to determine the device and set the volume accordingly.
Hi, Kevin;
I think this is what you’re talking about:
tell application "System Preferences" to reveal anchor "output" of pane id "com.apple.preference.sound"
tell application "System Events" to tell (table 1 of scroll area 1 of tab group 1 of window "Sound" of application process "System Preferences")
set S to selected of rows
if item 1 of S is false then
select row 1
set msg to "External Speakers"
else
select row 3
set msg to "Earphones"
end if
end tell
tell application "System Preferences" to quit
display dialog msg giving up after 5 buttons {"OK"} default button 1
Thanks Adam. I was afraid it would be something similar to that. I was hoping that there might be a value in the defaults that would carry that info. Then all I would have to do was a quick shell script without having to launch System Prefs.
Ah well. As Mick Jagger observed, “You can’t always get what you want.”