Prototype Wiimote Control for Ardour added

After languishing for months in the horror of hardware construction and the herding of cats, long-time Ardour developer Sampo Savolainen jumped back in to working on his favorite DAW and added support for the Wiimote as a remote control this past weekend. You just need working bluetooth support on your computer, the right library, and of course a Wiimote. Not only did Sampo implement all this in a weekend, he even made a video showing how to use it:

To test this out, you need to build Ardour from source. add WIIMOTE=1 to whatever scons options you already use. You will also need libcwiid installed (including any development version if you use a packaged version of that library).

I am actually pretty

I am actually pretty surprised how useful that appears that it can be. When I first started reading it I was thinking... yea another gimmick, but that looks pretty useful, and a possible replacement for a Tranzport. Thanks.

Seablade

Great work! This opens lots

Great work! This opens lots of possibilities. Now it could be even more amazing if the Nunchuck was added to control the mixer, something like: being able to bring the mixer window up, select different tracks and change levels with the Nunchuck's joystick (x axis to select track, y to change volume) and mute/solo with the buttons... or in the future (when the surround panner gets fixed, if it hasn't) being able to use the Nunchuck's joystick or the accelerometers to do surround panning (I've been doing this with Csound and the Wiimote and works great). A control panel could be added where the user assigns the functions of the Wiimote and Nunchuck's buttons and joystick.

Just wanted to share some ideas.

Cheers!

Hector

Maybe this could be extended

Maybe this could be extended to support other devices such as ATI Remote Wonder? Or devices supported by LIRC? It would be great :)

hsyl20

The wiimote, despite it’s

The wiimote, despite it's name, is not a remote control in the way normal remote controls are. The wiimote is actually a pretty sophisticated bluetooth device. Thus, this code doesn't really help with LIRC devices.

The reason it has a infrared style black window on the end is because it actually has a infrared receiver in it. The camera is there to sense the wiimotes position and yaw relative to the wii sensor bar.

I actually have a handy perl

I actually have a handy perl script that binds my lirc remote (an ATI Remote wonder) to Ardour's OSC that I can share if anyone's interested.
It's based on Jonathan Stowe's Ardour OSC perl module (http://ardour.org/node/1470) and a bunch of other perl modules.
This was a quick and dirty hack that worked (and works!) for me.
Of course a real lirc implementation in Ardour would be a better solution but that's beyond my skills.
Feel free to contact me if you want me to post it somewhere.

I’d be glad to try it!

I'd be glad to try it! Could you make it available somewhere (in case someone else is interested) or send it to me directly (hsyl20 at yahoo fr)? Thanks!

The support is in subversion

The support is in subversion and will be included in subsequent versions. Anyone on linux, has a wiimote and is able to build Ardour can try it. See http://www.ardour.org/download_full for more information about building.

Would it be possible to

Would it be possible to extend this to bluetooth cell phones? I've had a dream for a long time of being able to control Ardour's transport with my Blackberry :) Probably would need to write a java app for it, but wouldn't that be super-cool?

hi, i second that lirc is

hi,
i second that lirc is the way to go definitly. it would mean access to a big list of hardware. to complete the solution a little binding editor, and ardour will be controlabe by blueetooth, tv remote, and the whole lirc hardware list. one word : WONDERFUL

Good work. Very useful.

Good work. Very useful.

No gestures? Hi, it looks

No gestures?

Hi, it looks very cool. But my first idea was - when I read about Wiimote for controlling ardour - that you would use gestures. For example it could be possible to control speed of zooming or scrolling by changing the inclination. Or shake the Wiimote to jump to the beginning (or for deleting the recorded track). Or play a loop by imitating a loop. Or or or....
That could be cool :)

I tried this today and it

I tried this today and it works like a charm. However, I have the feeling that the Wiimote isn't the ideal tool for stuff like this. The upper and lower buttons are pretty far apart. It might just be me but reaching across the whole device only with the thumb doesn't feel comfortable. I bet there are smaller, more comfortable Bluetooth remote controls with an equal number of buttons and maybe even a navigation cross out there.

Another thing is ... it's nice to have a remote control with only a few buttons, but sometimes you need them to be more powerful.
I often play guitar at home. When I try to record an idea to one or more tracks I usually go through the same steps again and again, like start recording, stop, throw the take away, jump back to a marker and start recording again.
For that it would be cool if you could create macros (a sequence of actions) and bind those to the Wiimote buttons or a hotkey on the keyboard. I haven't found it in Ardour 2.7.1 but is something like this planned for the future?

Anyway, it's nice to see Ardour in such a good shape. I really enjoy working with it. Keep up the good work guys!

Ima Try that...seems very

Ima Try that...seems very cool....Woow

Thanks a LOT ! This is

Thanks a LOT ! This is wonderfull and works perfectly on Ardour 2.8.11.
I don't have the bug : http://tracker.ardour.org/view.php?id=3320

But maybe it is needed to mention that the wiimote should NOT be connected to any other bluetooth services in KDE, Gnome or whatever before plugging it into ardour. Just press 1 and 2 buttons together after the wiimote control mode has been enabled in Ardour... Your favorite DAW will do the job.

Of course, the library libcwiid1 and libcwiid1-dev (on debian and ubuntu) should also be installed BEFORE compiling Ardour with the "WIIMOTE=1" option.