I have neither the need nor the space (nor the money) for one of the big control surfaces to control my DAW (Logic Pro to be precise). But I always wanted a knob in addition to mouse and keyboard. Ideally this device should be flexible enough to control various things:
And I wanted to switch between all of them.
The Griffin PowerMate filled that bill partly for years, but it was more or less limited to one or two tasks and controlling the channel strip of the selected track was cumbersome. But this changed now with the new PowerMate 3 software (free dowload at griffintechnology.com).
Here is how I turned my PowerMate into a universal one knob Logic control (that should work similar for other DAW like Cubase or ProTools). This tutorial shows how to setup each of the three tasks above. If you want to use all three of them you should read down to the switching part bevor starting the setup (otherwise you or the PowerMate or Logic might mix it up).
Download a zip with all scripts.This is the easy task that always worked well. Logic has plenty of key-commands for scrolling, scrubbing, jumping, start and stop. And the PowerMate has been based on keystrokes since day one.
So I defined three triggers in PowerMate 3 (the keystrokes depend on the settings in Logic):
The PowerMate can be configured to pass any modifier to Logic so pressing cmd while turning the know will trigger a fast forward/rewind (as cmd F7/F9 are the keystrokes for this on my system)
This is easy too: Most plug-ins allow parameter change by hoovering with the mouse above a control and using the scroll wheel. So for this task you simply make two triggers in PowerMate 3:
PowerMate lets you set the sensitivity for each trigger so you can customize the necessary movement to your desire.
This was the hard one. Unfortunately Logic ties the scroll wheel to window scrolling. So hoovering above the fader and using the scroll wheel will not change the fader of the Mixer. The only option to access a fader in the Mixer via PowerMate is to use the »increase/decrease last clicked parameter by 1/10« key command in Logic and define key-press-triggers in PowerMate. This works somehow, but I never could get the parameters adjusted in a natural feeling sensitivity. Either I had to scroll endless to get the fader from bottom to top, or (using the »increase by 10« command in Logic) the fader movement was not fine enough.
Unfortunately PowerMate 3 is not able to send Midi. I suggested this feature to the Griffin people during the beta testing but it seems I was not convincing enough ;-) I hope Midi will be implemented in a future version (and I think it would help, if everybody interested in this would drop a note to Griffin).
But there is a solution right now: combine PowerMate, AppleScript and MidiPipe. MidiPipe is a powerful Midi rooting and manipulation tool and might scare people who are not familiar with Midi programming stuff. But don’t worry about MidiPipe, you’ll master some AppleScript in a minute too.
It basically boils down to this:
When turned the PowerMate will send an AppleScript that tells MidiPipe to send Midi commands to the Core Midi’s IAC bus. Logic listens to the IAC bus and you can use its Controller Assignment to map it to almost anything you want.
As we only need MidiPipe to pipe the data from PowerMate to the Midi bus the setup is quite simple. The chain has only too items:
Downlad the ready made pipe together with the AppleScript examples. Simply start the pipe PowerMate2Midi.mipi when you want to use Midi from the PowerMate.
In PowerMate create trigger pairs (Rotate Left/Rotate Right) each with an AppleScript as action. The script is straight forward:
tell application "MidiPipe"
MIDISend toPort "MidiPipe AppleScript Input" withData {176, 80, 1}
end tell
The magic lies in the three figures in brackets:
For an endless controller like the PowerMate a range of values is not recommended. So I defined separate controller for left and right turn (one »+« and one »-« Button like on many keyboards). The AppleScript for both triggers is the same except for the controller number.
I defined three of this trigger pairs in PowerMate 3 one without modifier to control the Volume-Fader, one with shift (using Midi controller 82/83) for panning and one with ctrl (using 84/85) to control the first effect send. (It is also possible to configure one of these to rotating the PowerMate while pressing it, but I find it hard to press and turn, so I used the modifier keys instead)
If everything is set correctly Logic should get some Midi input when turning the PowerMate. Now we only have to tell Logic which of the incoming Midi controls what.
Let's set it up in Logic:
Repeat the same procedure for the other direction (and don’t forget the minus for the left turn).
Repeat the steps for pan and effect send (and don’t forget to press the modifier key defined in PowerMate)
Finished: I have the three most important controls of the selected track on a single knob. The PowerMate is sitting left of my keyboard. So my thumb can reach shift or ctrl while I turn the knob.
Going through the setup steps of the three task you will have noticed that they can not be used at the same time. So we need to tell PowerMate what task is needed and find a way for easy switching. The key concept here is the new feature »Light State« introduced with PowerMate 3. You can tell each trigger to work only with a particular Light State. I use three Light States matching the three tasks:
So for each trigger I check the checkbox »Match Light State« and enter the appropriate name.
This is done via AppleScript. It looks like this:
tell application "PowerMate"
set aDevice to device named "PowerMate"
tell aDevice
make light state with properties {state type:steady, brightness:0.05, pulse rate:0.1, name:"Default"}
end tell
end tell
The important part is the name of the Light State. But I use the blue light to hint what state the PowerMate is in letting it shine or pulse differently.
To switch Light States I simply run the appropriate script. For fast switching I found two solutions:
Download a zip with all AppleScript examples and the pipe for Midipipe.
That's it. I hope this tutorial was helpfull. Unleash your PowerMate!