Boom 3D with KM

Has anybody written any KM Macros that control Boom 3D?
In particular, I would like to control
a: the audio output device that Boom selects e.g. internal / external bluetooth speakers,
b: the boom volume level and
c: the boom audio profile.

1 Like

There are at least three possible paths to a solution for you.

  1. If the app is AppleScript compatible, then you may have an excellent means to control the app. If you don't know how to determine this, try reading the advice on this page:
  1. If the app is controllable by menu items, this may also be a great way to control the app. You can check for yourself if the functions you want to perform are accessible via items in the app's menu. If you make notes of the menu items that you use, there will be people here you will help you encode that in a KM macro. This is the path I recommend to you because it's usually simple and reliable.

  2. If the app has some visually distinct elements in its window, then you may be able to search for images in the app and use the mouse to interact with it.

1: AppleScript interface does not appear to be an option. I have asked boom support for more info if this is possible

2: Drop down menus do not really exist in this application

3: scanning for an image is a possibility

Thanks for your input

It's a great idea to contact the company for support. They might have ideas to help you.

But even if they don't, Keyboard Maestro can probably help you.

Since I don't have the app, you will have to post screenshots of the app so that we can guide you through the process. But let's wait for their response before we go this route.

I installed the trial in a virtual machine, and it looks like you can probably do (b) and (c) via hot keys?


Skipping (a) for now, for (b), it looks like the Boost Level Up and Down shortcuts do exactly what you want, so just use those (or send them if part of a larger macro).

For (c), the EQ preset hot key just cycles through the available options, so you'd need to add an image detection bit to stop on the one you want. Alternatively, you can click on the EQ button via click at location, and it looks like it supports keyboard shortcuts. So you could name your profiles uniquely, then press a given key to select a given profile.

That is, I'm assuming EQ preset is what you meant by audio profile?

Back to (a), you can probably do this without using found images (same as with (c), because one annoying limitation of Boom is actually a big advantage here: The Boom window doesn't look to be resizable. So the locations for all the UI elements won't ever change.

From my testing, this ...

...should always click on the Output button, which opens the list of outputs. You could then do another Move and Click, but relative to the current mouse location, to click on the output you want to switch to.

This is the same way you'd click the EQ button, which I found here...

Notice that these are from the top right corner of the window. Here's a sample macro that selects the Acoustic profile in the demo:

I can't easily upload this because my VM is isolated, but it's not a lot of work to recreate. You'll probably have to do some tweaking to the delay, and maybe add other delays, to make things work. But it looks doable.

Hope that helps a bit!


1 Like

In macOS apps, does the existence of keyboard shortcuts always imply that the shortcuts are listed in the menus for the app?

No, and in Boom's case, there are basically no menus. But the hot keys are global, and in my testing, it worked fine to send one via Keyboard Maestro:

EDIT: But, duh, as they're global, no need to do this, just use them :). But you'd use a macro if you wanted to do something while also changing the volume.


1 Like

Thanks for these suggestions. Just shows what happens when you ask someone else who looks at the problem afresh. Just as an aside, my hearing is not good and I use the EQ profile to boost the volume in the frequencies where my hearing is poor.

No problem, I'm just glad it was doable—I had fears when I saw that UI that it was going to be a nightmare :).