I just updated the macro to Version 2.1. Please download it and try again. This version should be somewhat more robust.
If you are still having a problem, please capture a screenshot of the dialog that appears and share it in this thread. For example, with the below screenshot I forced the macro to fail by setting local_SoundOutputName to Internal Speakers1.
Have you thought about creating a keystroke that would toggle between two outputs? I am constantly changing between my external speakers and my headphones and want to be able to hit a keystroke to switch between them.
I found an Alfred workflow that does that really well, BUT for some reason now, my outputs change order in my Sound Preferences all the time.
I have two monitors with speakers that show up in there even though I never use them. I wish I could just remove them!
The Alfred workflow switches it based on the order in that pref panel rather than by name (like yours does).
Added a check of %TriggerValue%. If it exists, it is used rather than the value hardcoded into local_SoundOutputName.
Added a check of macOS version. Unfortunately, with macOS Ventura (through 13.0 Beta 11—22A5373b), this macro will not function as expected. Hopefully this is a temporary issue during the beta period, but it could be an ongoing issue since in Ventura the macOS System Preferences have been moved the the System Settings.
Hi @BCBoarder. Thanks for the feedback. I'm glad that you are finding the macro useful.
Here's a macro that you can use to toggle between two values. Note that you will also need the latest version (v3.0) of Set Sound Output.
DOWNLOAD Macro File: Toggle Sound Output.kmmacros (9.2 KB) Note: This macro was uploaded in a DISABLED state. It must be ENABLED before it can be run. If it does not trigger, the macro group might also need to be ENABLED.
Yes, @ikenassi, I think it's safe to say that AppleScript related to the System Preferences (now Settings) is no longer functioning. We can hope that it might come back, but Apple's track record in such cases is not strong.
On a related note, I was hoping that the macOS Shortcuts app might have built-in actions to change the Sound Output, but as of Ventura 13.1 Beta 1, it does not.
Thanks for the heads up, @peternlewis. Since my comment above I had found a way to open the SoundSystem Setting in Ventura, but if Open a System Preference Pane works on all versions of macOS, that’s far superior. I will check it out.
I have a working sound control panel for Ventura. I just want to do some more QA on it before I release it. It only works for Ventura, of course. It was a true pain in the ass to get this one done. Look for it in the next couple of days, but it works on my Intel iMac and my MacBook Pro M1.
When an error occurs, a message is displayed using Prompt For User Input rather than Display Text. With this change, the System Preferences (or System Settings) remain open when the error message is displayed.
Improved and simplified the localization in the AppleScript UI scripts: i) moved definition from AppleScript to the macro body, and ii) eliminated dependency on the word Output|Uitvoer|Ausgabe.
This is a general practice I use because it makes such steps more robust and the wait can be minimized. (I take a similar approach when a sequence of actions that depend on an application being in the foreground.)