Record Quick Macro issues with Specific App

I have a macro that uses the Record Quick Macro action from time to time. It’s been a while since the Record Quick Macro action has actually run - and the last time it ran it worked perfectly fine (but with an older version of the App in question). I just noticed that I’m having issues with a Page Down keystroke.

  1. If I record the Quick Macro in Finder it works just fine (that is it will capture and playback a Page Down keystroke just fine) but in this particular app (Logic Pro X) it does not work anymore. Logic Pro does have specific Key Commands linked to Page Down and Page Up / etc., but they are just that - the key command for Page Down will ‘Page Down’.

  2. The macro I usually run will only run while Logic Pro is open. But to test this I created a new Macro in Global and tested that on Logic Pro - same result.

  3. Oddly, if I record the Quick Macro within Logic Pro and then App Switch to Finder, and ‘run’ the Quick Macro (while Finder has focus), The Macro will switch focus Back to Logic Pro and run the Macro Just fine - WITH the Page Down.

So it seems like the Record Quick Macro is indeed recording all the necessary keystrokes and mouse movements etc., but for some reason Logic Pro is ‘blocking’ some of the these actions from occurring.

I have also gone through the Troubleshooting procedures on the wiki.

Any idea what could be going on?

I’m still using KM 7.3.1

Thanks!

There is nothing magic about the quick recorded macro, it just records the UI that it sees, and then plays it back.

Debugging Quick Recorded macros is nearly impossible since you cannot see the actions that are recorded, not add debugging actions, nor make fine adjustments.

Instead, create a new macro, start recording, and record the desired actions into the macro.

Then verify whether the macro works and adjust the macro as necessary.

Once you understand what works and doesn’t work in the macro itself, that would give you a better idea of what will and wont work in the Quick Recorded macro.

There are some macro recorders, like the Microsoft VBA recorder, that provide an excellent starting point for a macro. However, while I love KM, I really don't recommend the KM recorder, because I don't think it helps you a lot in developing the ultimate KM macro that you want.

Here is what I'd suggest instead:

  1. Write down every manual step you need to take to accomplish your workflow.
  2. If this includes app shortcut keys, then write them down.
  3. If this includes app menu selections, then include them.

Once you have that, then you can build a robust KM macro to automate your workflow:

  1. Whenever possible, use the Select or Show a Menu Item action (KM Wiki) rather than a shortcut key.
  2. IF you must, the use Type a Keystroke action (KM Wiki) to simulate you typing a shortcut key.
  3. Often, you will need to place a brief Pause action (KM Wiki) of about 0.2 sec between Actions.

I have found that most of the time this will provide me with a workable KM macro.
Once you have a macro that works, then you can optimize it.

If you run into a hitch, then post your macro here, and we'll help.

See

If you have any questions about this, please post them.

Hi Peter,

Yeah, the thing is that this particular Macro was working for at least a year with no problems at all. It still seems to record the UI just fine, because like I said - if I record the UI in Logic Pro and then playback THAT macro in Finder, it works as expected. And again - it’s even strange because the recorded macro will work fine if Finder is the active App - it will switch to Logic Pro and run as expected. I suspect that something has changed in Logic Pro because I did notice something else with the recent update - that when I press other key commands (just a regular Key Command - no KM involved), Logic Pro almost doesn’t respond the first time, it’s strange - it does sometimes maybe, but other times it doesn’t.

Thanks JMichaelTX for the advice. The problem with this particular macro is that there is simply no easier way to do this one thing, because it’s recording something that is different every single time - based solely on my choice for the particular project I’m working on. I have evaluated other options and none of them are feasible. The condensed / simplified explanation is that I have a complicated Macro and in its original form the macro would prompt me to make a selection then Logic Pro would run an audio file bounce, which would take say 1 minute+ per bounce. After that bounce it would prompt me again to make a selection (different than the first) and run another bounce. Well, eventually I realized that I could capture all these individual selections (mouse movements and keystrokes) at the beginning and then let Logic do it’s thing - so I wouldn’t have to wait there. The specific selections I’m making vary depending upon the specific project I’m working on and they are ‘never’ the same selections.

Anyhow, thanks to you both - I’ll do some more investigating and then I may have to inquire with Apple.

@nok, often the type of problem you’re having is caused by timing. So you may need to add some pauses, or increase the time in existing ones.

One way to check this is to use the Macro Debugger (KM Wiki) to step through each action.

For better help, please post your macro.
See

Peter,

I’ve done some more investigating and like JMichaelTX suggested, and something I’ve experienced numerous times: it’s all about the pauses.

Is it possible to change the delay between actions of what the Record Quick Macro has captured? Similar to using the “Set Action Delay” action? I have added 2, 1/4 second pauses between each action of the Quick Macro by clicking on the clock, and what do you know - the macro works again. But, that will be a pain to do for each click / page down. Is there a way to set ‘this macro’ pauses between actions to ‘this amount of time’? There doesn’t seem to be a way to use “Set Action Delay” with a Quick Macro.

Thanks

No.

Better would be to figure out where the pauses are actually required and only include them there.