The previous live broadcast system we were using prior to the purchase of our Arrakis broadcast console used several applications in addition to RadioDJ, our radio station automation software. They are:
- Voicemeeter Banana, our virtual mixing console
- RingCentral, our VOIP toll free provider
We have numerous hotkeys assigned to each. For example, CTRL+ENTER answers a call coming in from RingCentral, but only if that app is running in the foreground. If RadioDJ is in the foreground, the hotkey commands don’t go to RingCentral and nothing happens. Or, if you have RingCentral in the foreground and you hang up a call and hit the PLAY button on our control pad (Mapped to CTRL+SPACE), nothing happens because RadioDJ is not in focus. You can see the mess our broadcasters have to deal with in the screenshot below:
As an example, if you’ve just hung up a call on RingCentral and are wanting to play CART 10 in RadioDJ, nothing will happen when you hit the green 10 key on our programmable keypad (shown below) because you are still focused on the RingCentral application. You would need to either ALT+TAB toggle through active windows on your keyboard or click on RadioDJ with your mouse point. This is a lot of extra work and can be confusing for broadcasters, resulting in dead air. Here’s how we solved the problem:
First, we figured out a way to create universal hotkeys that could be used to bring specific windows back into focus. Next, we added those key combos as prefixes and suffixes as appropriate to our programmable control pad from Genovation (shown below).
Universal Hotkeys with AutoHotKey:
Our go to app for hotkey programming is the free and wonderful AutoHotKey. We used it to assign the following hotkeys to window focusing:
- SHIFT+F3, RadioDJ
- SHIFT+F4, RingCentral
- SHIFT+F5, Voicemeeter Banana
Here is what our script looks like, (which you can BroadcastConsoleWindowFocus if you want to play with it – just rename the file extension from .txt to .ahk.)
Once the script was created, we saved it in our OneDrive folder with the rest of our AutoHotKey scripts. Then we created a shortcut of the script file and pressed CTRL-X to cut the file. We pressed WIN+R to bring up the startup dialogue and type ‘shell:startup’:
This opens the Startup Folder for Windows. Any application or script with a shortcut to it placed in this folder automatically runs at system startup:
Click somewhere in the right-hand pane and press CTRL-V to paste your shortcut into the Startup folder. The script will now load on startup.
Genovation CP48 Control Pad:
If you have a control pad that lets you map series of key combinations to a specific key on the pad, that is the easiest route to go. We use a Genovation CP48 programmable keypad for our broadcast console:
We’re now going to add the universal function keys for application window focusing to every keyin our control pad mapping software, show below:
Our pad programming software, Genovation MacroMaster CPxx (CP48), allows us to map multiple keypresses to a single key. As you can see above, the 10 key on our keypad first sends SHIFT+F3 to bring RadioDJ back into focus and then sends F10 to play the cart. Every single key on our keypad has a prefix sequence entered before the actual hotkey sequence for that application to put the focus on the correct window first, so that even if you’re clicking around the desktop with a mouse, using the keypad always takes you back to the right application instantly.
Now when you’re in RadioDJ and you hang up a phone call from RingCentral, pressing the R-HNG call on our control pad shifts focus from whatever window is active to RingCentral, ends the call, and then shifts back to RadioDJ immediately as the assumption is that you’re probably going to play a song or ad.
And that is it. The control pad’s focus always goes back to the right window now, even when you’ve moused away from it or have another window over top (e.g. browsing for news or weather). No more dead air caused by the mad scramble to get the right window back in focus!
Note: Before we were Squirrel FM we were Radio Hanna, thus the Radio Hanna references. This is an older article we’re archiving as it may be of interest to those trying to solve similar issues.