Create shortcut to drag a parameter that may appear at different parts of the screen

I am a professional music producer and audio engineer. One of the most tedious tasks is lowering the volume of breaths on vocal recordings.
I was able to set up a key command that cuts audio based on selection (built into Ableton Live already), but I also need Maestro to navigate down to the "Gain" control and turn down by 5db. Afterwards, I'd also like it to add fades on either side of the cut. Is this possible? The main issue I'm running into is that the mouse and drag position of the "Gain" control changes in the software depending on screen resolution and viewing preferences so there's no dedicated X Y. Can I tell Maestro to go to the "Gain" control and turn down automatically regardless of it's position?

Thank you, this would save me hours every day!

Ableton's UI isn't very scriptable, so we'll have to go with found images. Here, I'm using an image of the Gain parameter label and then clicking 62 pixels below its centre in order to click its value. The image is searched for within the entire bottom pane. Depending on your screen size and resolution, you may need to do some/all of the following:

  • take your own screenshot of the Gain label.
  • adjust the pixel displacement on the Y-axis.
  • change the search area, using the Get button.

Then it's just a case of typing -5 and hitting Enter. Ideally, you would copy the existing value, deduct 5 and type in the result, but Ableton doesn't allow copying and pasting of parameter values (:man_facepalming:t2:), so this isn't an option. As long as you're working with regions that start of at 0.00 dB, this will be sufficient. If you want to do relative adjustments, we'll have to start using OCR and it could get messy/unreliable/slow.

Anyway, without further ado, give this a shot:

Clip Gain -5db.kmmacros (47 KB)

Macro screenshot

These kind of situations can be tough. I used a different trick in the past when I had 2 different monitor sizes I was using the macro on that changed the location of button/input I needed.

My macro made the assumption that my app window was always the same size for the particular screen it was on. I used the move window action to ensure it was always half or entire screen so the button stayed consistent. Then I would check the window size token (Tokens)

Then I had logic if I detected the window size matched what it would be on one screen I would use predefined click coordinates, otherwise I would use the other predefined click coordinates that I had saved.

Here is a dummy example of what I'm talking about...

Example screenshot

Test - Changing window size button click.kmmacros (24.9 KB)

This method only works if you are able to control enough variables on the display that you can be confident that the button is in the same place for different resolution screens.

I think this means that the parameter won't necessarily be in the same place relative to the front window's corner, so the only feasible option is to use found images, unfortunately.

Yeah, won’t work if the viewing preferences are always changing. If they can be kept the same then there’s a chance.

1 Like

One for the future, perhaps -- you don't need all that regexing and variable setting, you can access various window values directly:

2 Likes