Automating Mac Mini and MacBook Air Setup - AirPlay Connect and Audio Device Switching
Setting Up Mac Mini and MacBook Air Environment with Automator
Recently, I decided to purchase a Mac Mini after experiencing performance issues with my MacBook Air. However, one major downside of the Mac Mini is its poor built-in speaker quality. While my MacBook Air wasn’t completely unusable, I wanted to find a way to use both devices effectively.
I ultimately set up my workspace by placing a monitor connected to the Mac Mini at the center of my desk, with the MacBook Air positioned underneath it. For better audio quality while watching videos, I used AirPlay to play sound through the MacBook Air speakers.
However, I discovered that AirPlay and Universal Control cannot be used simultaneously. To efficiently use both devices together, I decided to implement keyboard shortcuts for connecting and disconnecting AirPlay.
The two features I needed were:
- A shortcut to connect AirPlay.
- A shortcut to disconnect AirPlay
(achieved by switching to another audio device).
Setting Up an AirPlay Connection Shortcut with Automator
Mac provides a built-in tool called Automator, which allows you to create scripts and assign them to keyboard shortcuts.
Step-by-Step Guide
Create a Quick Action Flow
Open Automator and create a new Quick Action.
Add AppleScript
From the left-hand menu, select Utilities > Run AppleScript, then drag it into your flow.
Save and Assign a Shortcut
Save the Quick Action, then go to System Preferences > Keyboard > Shortcuts > Services to assign a desired shortcut.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
on run {input, parameters} set devicesToSwitchBetween to {"Mac mini Speakers", "LG HDR 4k", "LG HDR WQHD", "Hyoeun’s MacBook Air"} set end of devicesToSwitchBetween to first item of devicesToSwitchBetween tell application "System Events" to tell process "Control Center" repeat with menuBarItem in every menu bar item of menu bar 1 if description of menuBarItem as text is "Sound" then set soundMenuBarItem to menuBarItem exit repeat end if end repeat click soundMenuBarItem set currentDevice to (first checkbox of scroll area 1 of group 1 of window "Control Center" whose value is 1) set currentDeviceId to (value of attribute "AXIdentifier" of currentDevice) set currentDeviceName to text 14 thru -1 of currentDeviceId set existingDevices to {} repeat with currentCheckbox in every checkbox of scroll area 1 of group 1 of window "Control Center" set deviceId to value of attribute "AXIdentifier" of currentCheckbox set deviceName to text 14 thru -1 of deviceId set end of existingDevices to deviceName end repeat set nextDeviceName to "None" set shouldSetNext to false repeat with deviceName in devicesToSwitchBetween if shouldSetNext and deviceName is in existingDevices then set nextDeviceName to deviceName exit repeat end if if deviceName as string is equal to currentDeviceName as string then set shouldSetNext to true end if end repeat repeat with currentCheckbox in every checkbox of scroll area 1 of group 1 of window "Control Center" set deviceId to value of attribute "AXIdentifier" of currentCheckbox set deviceName to text 14 thru -1 of deviceId if deviceName as string is equal to nextDeviceName as string then click currentCheckbox click soundMenuBarItem exit repeat end if end repeat end tell return input end run
Setting Up an AirPlay Disconnect Shortcut (Switch to Another Audio Device) with Automator
To disconnect AirPlay and switch to another audio device, I used a program called SwitchAudioSource, which made the process simple.
Steps to Set It Up
- Install SwitchAudioSource
Install SwitchAudioSource using the following command:1
brew install switchaudio-osx
- List Available Audio Devices
Check the names of all available audio devices to identify the one you want to use.1
SwitchAudioSource -a
- Create and Save an AppleScript
Use the desired audio device name to create an AppleScript and save it as a Quick Action, similar to the AirPlay connection setup.1 2 3 4 5 6
on run {input, parameters} do shell script "/opt/homebrew/bin/SwitchAudioSource -s 'Mac mini Speakers'" return input end run
- Assign a Shortcut
Go to System Preferences > Keyboard > Shortcuts > Services, find the saved script, and assign an appropriate shortcut.
Mac Automator를 이용한 맥 미니와 맥북 에어 환경 설정
최근 맥북 에어를 사용하던 중 성능 저하를 느껴 맥 미니를 새로 구매했습니다. 하지만 맥 미니의 가장 큰 단점은 내장 스피커의 음질이 좋지 않다는 점이었습니다. 기존 맥북 에어는 성능 저하가 있었지만 여전히 사용 가능했기 때문에, 맥 미니와 함께 활용할 방법을 고민했습니다. 결론적으로, 책상 중앙에 맥 미니와 연결된 모니터를 배치하고 그 아래에 맥북 에어를 두는 방식으로 설정했습니다. 영상을 시청할 때는 AirPlay를 이용해 맥북 에어의 스피커를 사용하는 방법을 고안했습니다. 그러나 AirPlay와 유니버설 컨트롤을 동시에 사용할 수 없다는 점이 문제였습니다. 따라서 키보드 단축키를 통해 AirPlay를 연결하거나 해제하는 기능을 구현해 두 기기를 더 효율적으로 사용할 수 있도록 했습니다.
필요했던 두 가지 기능은 다음과 같습니다:
- AirPlay를 연결하는 단축키
- AirPlay를 해제하는 단축키
(이 작업은 다른 오디오 장치로 전환하는 방식으로 처리 가능합니다.)
Automator를 이용한 AirPlay 연결 단축키 설정
Mac에는 기본적으로 제공되는 Automator라는 도구가 있습니다. 이를 활용해 스크립트를 작성하고, 키보드 단축키로 실행할 수 있습니다.
단계별 설정 방법
AppleScript 추가
왼쪽 메뉴에서 Utilities > Run AppleScript를 선택해 플로우에 드래그합니다. 그런 다음 아래 코드를 복사해 붙여넣습니다.
저장 후 단축키 지정
작업을 저장한 후, 시스템 환경설정 > 키보드 > 단축키 > 서비스로 이동하여 저장한 스크립트를 찾아 원하는 단축키를 지정합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
on run {input, parameters} set devicesToSwitchBetween to {"Mac mini Speakers", "LG HDR 4k", "LG HDR WQHD", "Hyoeun’s MacBook Air"} set end of devicesToSwitchBetween to first item of devicesToSwitchBetween tell application "System Events" to tell process "Control Center" repeat with menuBarItem in every menu bar item of menu bar 1 if description of menuBarItem as text is "Sound" then set soundMenuBarItem to menuBarItem exit repeat end if end repeat click soundMenuBarItem set currentDevice to (first checkbox of scroll area 1 of group 1 of window "Control Center" whose value is 1) set currentDeviceId to (value of attribute "AXIdentifier" of currentDevice) set currentDeviceName to text 14 thru -1 of currentDeviceId set existingDevices to {} repeat with currentCheckbox in every checkbox of scroll area 1 of group 1 of window "Control Center" set deviceId to value of attribute "AXIdentifier" of currentCheckbox set deviceName to text 14 thru -1 of deviceId set end of existingDevices to deviceName end repeat set nextDeviceName to "None" set shouldSetNext to false repeat with deviceName in devicesToSwitchBetween if shouldSetNext and deviceName is in existingDevices then set nextDeviceName to deviceName exit repeat end if if deviceName as string is equal to currentDeviceName as string then set shouldSetNext to true end if end repeat repeat with currentCheckbox in every checkbox of scroll area 1 of group 1 of window "Control Center" set deviceId to value of attribute "AXIdentifier" of currentCheckbox set deviceName to text 14 thru -1 of deviceId if deviceName as string is equal to nextDeviceName as string then click currentCheckbox click soundMenuBarItem exit repeat end if end repeat end tell return input end run
Automator를 이용한 AirPlay 연결 해제(다른 오디오 장치로 전환) 단축키 설정
AirPlay 연결을 해제하고 다른 오디오 장치로 전환하는 단축키는 SwitchAudioSource라는 프로그램을 이용해 쉽게 구현할 수 있습니다.
설정 단계
- SwitchAudioSource 설치
아래 명령어를 사용하여 SwitchAudioSource를 설치합니다.1
brew install switchaudio-osx
- 변경 가능한 오디오 장치 확인 설치 후, 사용할 수 있는 오디오 장치의 이름을 확인합니다.
1
SwitchAudioSource -a
- AppleScript 작성 및 저장 원하는 오디오 장치 이름을 사용하여 아래 AppleScript를 작성하고, 이전 AirPlay 연결 설정과 동일하게 Quick Action으로 저장합니다.
1 2 3 4 5 6
on run {input, parameters} do shell script "/opt/homebrew/bin/SwitchAudioSource -s 'Mac mini Speakers'" return input end run
- 단축키 지정 작성한 Quick Action을 시스템 환경설정 > 키보드 > 단축키 > 서비스에서 찾아 적절한 단축키로 지정합니다.