MIDI control for your windows mobile device (and resolume2 template)
14 August 2009 in VJing, networkingRecently my buddy Gabe (www.gabesimagination.com) blew my mind while we were VJing. He set his gear up, locked it down, and walked off to go mingle and be found on the dance floor, all while keeping control of the visuals - from his phone. He was using an Android, which is openSource ( and I think running a linux kernel....), and he found an app that will transmit OSC messages over wifi. We all know the iPhone can do this too, but both of those phones are a bit pricey at the moment. I have a windows mobile device (LG Incite) that I got for FREE when signing a plan... The task: can this glitchy windows mobile device control visuals? Yes it can. P.S. All links and downloads are available at the bottom of this post.
I started by looking for OSC applications for windows mobile. All the iPhone and Android apps are OSC, there must be one out there... ask google. I spent some time searching for things like ' "open sound control" + "windows mobile" ' with little luck... Maybe someone has a post somewhere about midi and windows mobile.. And I find it. It is called Theresa (http://dada.perl.it/theresa/) and it is open source!
Theresa works only in Windows, as it is a client/server application. The small server daemon runs on the host machine, and the client runs on your phone. The one (somewhat big) hiccup I found in this setup is that if your phone goes to sleep, receives a call, or anything other than dedicated midi control, you have to restart both the client and server. The client can restart but the server will never disconnect (close and reopen socket if can't send connection msg every 3min....) and you have to manually quit and restart the server. You can restart the server with a remote desktop connection from phone, but this is still a pain and visuals will be stale by the time it is fixed.
Now onto using Theresa with Resolume2 (yes I still love that solid little app). Theresa only has faders and buttons and the buttons are toggle only. Both of these controls send midi control change messages only, which Resolume 2 needs some note messages for some controls (I will get to this in a sec). The interface is very configurable via an XML file and you can place buttons and faders based on pixel x y values. I configured an interface for resolume2 that needs a few tw3aks here and there but it works. Here is the interface with function explanation: 
I used Pure Data (http://puredata.info/) to translate the midi messages from ControlChange into NoteOn messages. I also used MidiYoke (http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm) to separate the incoming from phone from outgoing from PD, so that Resolume only hears what is coming from PD (Remember to set this in the Resolume Prefrences for MIDI!!! ). And of course set the PD midi prefrences to incoming:midiYoke1 outgoing:midiYoke2.
The basic usage guide is as follows:
start Theresaserver.exe
start theresa.pd
(in PD) select midi in and out (in from yoke1; out yoke2;)
start Resolume 2.4
(in Reso) load theresa.xml midi map
(in Reso) disable input from midiYoke1
Now start Theresa.exe on your phone
(on Theresa) open settings - topBtn chooses activeSync vs WLAN, choose WLAN and enter the IP address of the machine running the server (my performance machine has static IP set). note:you must be already connected to your wifi network on your phone.
(on Theresa) restart Theresa to connect to server (glitchy I know...)
(on Theresa) open settings - choose the midi Device (midiYoke1), and set the Layout to resolume2.
(on Theresa) farLeftBtn is open preset : open preset named resolume2
That seems like a lot of steps but it's pretty quick. Hopefully I will have the time soon to write a script that does most of this for you, as well as a few minor changes in Theresa..
Here is a package with a few files for Theresa to control Resolume2. See the ReadMe file for install instructions and more specifics on usage. Hopefully I will have some time to modify the source a bit to make a button that does not toggle (done, contact me if you want my compiled version.).
No comments yet.
Leave a comment
Pleasuretweet
- RT @euphoriuhh: still cant believe Im doing the visuals behind TIPPER at the Crown Room for FRESH tomorrow night! #pdx @pdxevents 3 months ago
- happily writing apps for my nokia/symbian phone in Qt c 3 months ago
- Watch this, interface for controlling a computer without ever touching anything... rainbows and lightning bolts http://vimeo.com/8147641 8 months ago
Recent Comments
- pleasuretek on Resolume Surface Mapping via Keystone plugin
- steve mcklantern on Resolume Surface Mapping via Keystone plugin
- admin on WiFi protection