Multiple Software Versions

I often must use two different versions of the same software based on the files my clients send me. In this case it’s Finale 2011 and Finale 2012. I have (virtually) duplicate groups of Macros for each version. How do I stop the macros from triggering both versions? I rarely have both version open simultaneously so if KM could only trigger the app that’s open that would seem the easiest. Or maybe I only need one set of macros for multiple versions of the software?

Right now I get a small black window asking me to select which macro to run…

addendum: the problem does not happen with my macros triggered by MIDI notes, only Hotkeys.

Just curious - what do you use to generate the MIDI notes?

I use my iPad running TouchOSC that sends MIDI notes to another app (OSCulator) which then triggers KM. When using MIDI note triggers make sure to specify the device it comes from. If the command is set to “any device” your midi piano can also trigger the macros…

Interesting. Thanks for the answer!

The good news is that 99% of the macros work in both versions of the program. So I don’t need to have separate groups for each version. I find it interesting that Actions I have assigned specifically to Finale 2011 also fire in Finale 2012. I suppose “Front Application” would also work here.

So my dilemma remains…what do I do about the few commands that require different Action sequences? In other words, how do I use the same keystroke to fire one macro in Finale 2011 and another in Finale 2012 - depending on which one I am in at the moment?

Macro Groups can be configured to be active only when a specific application a at the front (or alternatively running).

A long as the path to both applications stays the same, that should be ok. If the path ever changes, Keyboard Maestro will look for the application based on the bundle ID and find the other version.

Alternatively, you can make your macros work for both versions using appropriate If Then Else actions to detect which version is running/active and behaving differently.

One way to do this might be to have a macro that triggers when either version of Finale activates and that records the version number (2011 or 2012) in a variable. Then whenever you need a different behaviour you could use a Switch/Case statement on the Finale Version variable (which is then easy to adapt to any other version as necessary).

Thank you Peter! With your help I discovered that I can make my Finale 2011 Group “available except in Finale 2012” and vice versa. That works great.