Controlling your HomePod volume with iTunes and a simple Mac app

If you’ve picked up Apple’s HomePod in the past few weeks and tried to use iTunes on your Mac to Airplay something to the speaker, you probably got blasted with the music playing at full volume.

This occurs since HomePod uses iTunes’ in-app volume slider to adjust its levels rather than your Mac volume, and iTunes is usually at 100% because the hardware keys are used control my computer’s overall sound instead1. Plus, if I want to change the volume on HomePod after the music starts, I have to go into iTunes and drag the slider – you can’t turn it down that quickly.

Screenshot of iTunes Volume Control running in a Mac menu bar

To get around this, I installed a Mac app called iTunes Volume Control that’s available on GitHub. Created by Andrea Alberti, it’s an app that lives entirely in your menu bar and changes the Mac’s hardware volume keys to control iTunes instead. When it’s running, it can entirely take over mute, volume up, and volume down – or, you can set it so you have to hold a modifier key like Command before hitting the keys. I use the latter option, so I can control my Mac volume with the keys normally and then use ⌘ + or ⌘ – to adjust iTunes when I need to.

Once you’ve installed the app, you’ll find it’s much better experience playing music from iTunes with HomePod as your speaker. I set iTunes Volume Control to launch at login, so it’s basically always running when I use my computer and I never have to turn it on when I need it2. I’ll usually open iTunes, use ⌘ – to turn down the volume, then pick my song and AirPlay to my HomePod.

iTunes Volume Control also provides an option to change the step size for each press, so the volume can be changed in more specific intervals – you can set it go up 3% each time, for example, rather than the default 10% at a time. This gives you fine-grained control of the HomePod volume, right from your keyboard.3

I could see improving this setup using iTunes and AppleScript – you could set up a command to launch iTunes already set to 30% and set to AirPlay to the HomePod, avoiding the setup process each time I want to listen from my Mac on my HomePod. However, I have no experience there and that’s a project for another day.

The best part of this setup is that iTunes Volume Control is entirely free to download and use. Check out the documentation first, but use this link to get the app and start controlling your HomePod from your Mac.

SaveSave

SaveSave


  1. Instead of adjusting the levels in iTunes and on your Mac separately, it’s much more common to leave iTunes at 100% and change the volume on the whole computer instead. 
  2. I normally hide it in the menu bar using Bartender, so I can click on the Bartender icon to reveal it but keep it away from view otherwise. 
  3. I do the same thing with HomePod normally by using my Apple Watch. Once you change the source in Control Center on your iPhone to the HomePod, the Now Playing controls show up on Apple Watch and let you control the smart speaker from your wrist. 

Quickly Saving Web Pages to my Notes

I’ve been doing more research on iOS lately as my iPhone is the device I use the most, so capturing full web pages quickly saves me a lot of time. While I really like Apple Notes’ latest iterations, it’s not easy to clip websites there – so I adopted Bear for notes, which has support for Markdown, images, and a handy Get URL function.

Bear’s ability to download websites as a note is killer, but it’s usually easily available for most people via their Action Extension. Rather than limiting my access to the share sheet, I’ve been taking advantage of the Workflow action Get Bear Note From URL1 to save web pages from anywhere on iOS.

I use a workflow called Save Page to Bear either from the action extension, or by copying a link and running it from the app, the widget, Spotlight, or Launch Center Pro. I choose which way to start the workflow depending on the moment, so it’s designed to accept different types of inputs even if it’s started in a different spot2.

I usually add this flexibility to my workflows by counting whether there’s a Workflow Input to determine where it’s being run – using Count and If input is less than 1, then Get Clipboard otherwise Get Variable > Workflow Input.

If the workflow is run as an action extension, there will be content coming from the Workflow Input and will return a Count of 1, so Get Variable retrieves that input and passes it along. However, if it’s not run from the action extension there won’t be any input, so the Count would be 0 and the workflow then grabs your clipboard instead.

Workflow’s Content Engine will intelligently extract any links from the whichever content is output from the End If action, since the Create Bear Note from URL action is only set to accept URLs as input3. Bear will download the web page and its images into a note, then return to Workflow with the unique identifier for that Bear note.

The workflow places that unique ID into the template for Bear note links, then copies the new deep link to my note to the clipboard in case I want to save it elsewhere like in the notes of a Things task.

Now, if I want to grab a web page and save it to my notes, I can either:

  1. Share a link from the extension
  2. Copy a link and search for the workflow from Spotlight
  3. Copy a link & run the workflow from the widget
  4. Copy a link and run the workflow from Launch Center Pro

Try the workflow yourself: Save Page to Bear.

Quick Links:


  1. This action really just uses the Bear URL scheme for /grab-URL, which you can learn about here.
  2. Apple Watch workflows can’t display custom UI, so they’re usually uniquely designed to run on the watch instead of integrated like the rest. I bet I could devise a method for detecting whether it’s run from the watch and change behavior if so.
  3. Tap on the icon of any action in Workflow to see more details, like the description, what types of content it accepts and outputs, and any unique characteristics of the action or its parameters.

SaveSave

SaveSaveSaveSave

SaveSave

SaveSave

SaveSave

SaveSave