In the aftermath of changing to my new Cherry MX switched keyboard I have found myself missing the handy media buttons on the old membrane keyboard.
So I had a little google about (using google) and found the Griffin Technology AirClick USB. A handy little Human Interface Device, it has five buttons and a number of plugins that allow you to control various applications. Primarily I was interested in Winamp control, playing, pausing and changing tracks. I had a deeper look into it and one of the available plugins in Sean Wilson’s new version 2 software is a winamp plugin. Cool, so I bought one.
Works great. Until I went to change volume that is, it’s just too slow for my purposes.
In the release notes there is the following addition to the latest version mentioned:
Easier creation of additional Plugins using any .Net supporting language
Well fantastic, I can do that, perhaps I can write my own winamp plugin. Plenty of searching around their site later and there’s no help or info on doing any such thing. I emailed support and got back a plugin that used sendkeys to just send configurable keys to Windows. Not a lot of use if you happen to be typing at the time!
I found the developer of the Mac software and his blog. He’s posted ways to hack the Mac version, no go for PC though.
I then noticed that the .acp plugin files in AirClick’s plugin folder were just renamed .net 2.0 IL dlls so I emailed support again asking if there was any supporting source code for writing your own plugins.
While I was waiting for a response I had a quick fiddle with Lutz Roeder’s Reflector and Denis Bauer’s FileDisassembler plugin and generated a C# project from the winamp.acp plugin. It compiled with no trouble, so I renamed the .dll to .acp, dropped it in the pugins folder, restarted AirClick and everything worked. Fantastic. Now I can get on with hacking it.
A little bit of coding later and I’ve now got a volume control that smoothly accelerates from small changes to larger the longer you hold down a button.
Then the reply came back from support:
Unfortunately we do not have source code for the AirClick. This is info that doesn’t leave the doors of research and development.
Oh dear, really, well I’m screwed then.
So top marks to Mr.Wilson and his code, but the usual non-technical nounce of the average support department proves to be a barrier yet again. Great product on the other hand.
I decided it was worth trying to contact Griffin again, so I penned a very similar email to the last one. This time I got a direct response from Sean Wilson, the creator of the PC AirClick software.
I have not written a formal SDK or Visual Studio template for writing
AirClick plugins yet, but I do have a txt file I wrote up real quick
to send to people who are interested in writing their own. I will
attach it with this email. – Sean Wilson
Great stuff! So here’s a copy of that file for all you plugin makers.
And here’s my modified Winamp plugin.