View Full Version : Wimote stepping through midi programme changes

03-21-2011, 02:32 AM
Hi First post, I've had a look but couldn't see anything that answered my question.

I want to use the wiimote to do some work with people who have mobility issues (to make music) I'd like an easy way to step through preset sounds. I figure it should be simple to do this but I'm struggling to find a way. I've looked at presets but that involves too many button presses.

I need to be able to assign one button to trigger incremental midi programme changes....possible?

thanks in advance

03-21-2011, 08:21 PM

Unfortunately the current version of OSCulator is not able to increment / decrement values.
If you need to cycle through all the 127 programs, I clearly understand that creating 127 presets would be overkill.

However, some MIDI devices allow to assign a specific message to increment or decrement the current program. What MIDI device are you trying to control? Maybe there is a possible workaround?


03-23-2011, 04:36 PM
Thanks for replying,

I'm using the Wiimote to control some Native Instrument Synths, some of them (FM8, Massive and Absynth) have a section where you can build a list of presets that will correspond to Midi programme messages. That's great but I don't want to assign all the buttons to Midi programme messages as this will be too fiddly for some of the clients.

I'd only need about 10 set up to go.

Is it possible to step through pre sets, say using the + button. Would the next sound be loaded in the soft synth if I stepped to a new (osculator) preset. Need to make it as simple as possible for the client group

thanks again for replying - appreciate it

Just got back from playing a gig in Paris yesterday - 1st day of spring was beautiful..as ever


03-23-2011, 07:22 PM
Yes, the time in Paris is just perfect these days!

Thank for the more detailed description, here's a suggestion. See the attached file.
The buttons + and - are used to trigger a preset change, and send a program change as well. I did this for each 10 programs.

I found that a more simple solution was possible, but it required a change to the application. If you are interested, please send me an email.


03-24-2011, 01:12 AM
Thank you very much - I have sent an PM


03-24-2011, 01:20 AM
Thank you Simon,
I will reply by email.

03-27-2011, 03:03 AM
Just wanted to say thanks again - your solution is fantastique! cheers

04-15-2011, 01:29 AM
Hi Camille,

Having lots of fun with getting this working and finding optimum assignments for the controller.

One slight problem I have now started to try and get more than one Wiimote going at the same time. When I copy the patch you set up the part of the programing you did for me that deals with stepping through presets stays linked to wiimote 1.

I'd like to be able to start with just a blank patch and put the Osc pre set/name index/trigger lines in myself and assign them to different wiimotes but not sure how to go about doing this.

Also running four Wiimotes am I better off having all four running from the same patch or should I have four different patch's (with different port numbers) running at the same time? Either way I'm having problems getting them all to use the 'stepping through midi change' programing you've kindly done already to change presets on any but the first Wiimote.

If I am to use just one patch with all four Wiimotes on it is there any way to collapse the different wiimotes - too much information on screen at any one time is confusing and makes my brain hurt.

Thanks for having a look



04-16-2011, 11:05 AM
Hi Simon,

The only simple solution I see is that you can try to open several files, one for each Wiimote.
Then, connect one Wiimote per window, you will need to make sure the discovery process is activated in turn for each window where you want to connect the Wiimote. This is a bit tedious, but this is the only way I can think of...


04-18-2011, 01:19 AM
Hi camille,

Hmmm I have hit a problem with this I'm afraid.

I've set up two copies of the original patch you posted - each using different ports. No problem.

The first Wiimote works fine, however on the second Wiimote the first time I press + to send a 'programe change' message, the programme changes but instantly a line for the wiimote 2 appears 'ww/2/button/+' representinnng the + button for Wii 2 and now the sending programe change doesn't work.

It's re mapped itself automatically back to only allowing the 1st Wiimote to send programe messages.

Any ideas?



04-20-2011, 11:35 AM
Yes, you need configure each file according to the Wiimote's number.

I don't think this is the right way to do.
Of course it would have been easier if OSCulator supported incrementing a value.
I'll try to cook something simple for you in PureData this evening, this way all you need is one window of OSCulator with all the Wiimote connected in it.


04-21-2011, 01:13 AM
Thank you so much - It is very much appreciated. I don't know if you've had time to have a look at the work I'm doing but getting this whole thing working properly is contributing to helping with a lot of quite troubled young people. So thank you.

If you are interested here is a link to a couple of case studies that I have done


Thanks again


04-21-2011, 02:09 AM
Hey Simon,

Yeah, I thought it would be nice to have this working anyway.
So, here are two files. One is a basic OSCulator document that sends the four first Wiimotes' Plus and Minus buttons via OSC to port 9000 on the local computer.
The other file is a PureData patch that will receive the Wiimotes' OSC messages and route them to counters that in turn trigger program changes on channels 1 to 4 respectively.

To use it you need to:

Download PureData (http://puredata.info/community/projects/software/pd-extended) (you might want to choose the first "OS X Intel" download in the list)
Open Audio MIDI Setup (found in /Applications/Utilities) and activate the IAC Driver
Open PureData, and open the document "Wiimote ProgramChange Increment.pd" (this is important to open the pd document before going in the application's preferences)
Go in Pd's Preferences -> MIDI dialog, and choose "IAC Driver Bus 1" as the MIDI Output.
You can now connect your Wiimotes to OSCulator and start incrementing / decrementing the program changes.

Don't hesitate to come back to me if you have any trouble. The Pd patch is very basic, if you need more customization, just let me know.


04-22-2011, 01:37 AM
Thank you very much - I'm learning as we go so don't worry if I'm being stupid.

Ok so I have the 'wiimote Next-Previous OSC.oscd' open and responding to plus and minus on two Wiimotes - Yay! And I presume I could do four if needed - briliant.
But now I don't seem to have any ability to send midi notes or midi CC - the fields that normally spring up when you connect a wiimote (A, left,Up,B, Right etc etc) are not there. How do I combine what I had before with whatI have now?
The ability to programe change on the four wiimotes with the ability to trigger notes.

Thank you so much for the work


04-22-2011, 01:39 AM
This is easy actually.
I have locked the document to prevent further changes, but there was no real motivation behind it.

Just unlock the document (Command-L), and configure the notes as you would do usually.

04-22-2011, 06:01 PM
Brilliant - Thank you!!!!! And I don't very often use more than one exclamation mark

04-22-2011, 06:17 PM
Ahh - How do I now get each Wiimote to send programe changes on different Midi channels - So wiimote one changes one synth whilst wiimote two changes another (at the moment they both effect the same synth - I'm guessing its a setting in the PD patch but nothing too obvious

04-22-2011, 06:18 PM
Your very patient - thanks again

04-22-2011, 07:40 PM
I have configured the PureData patch so each of the first 4 Wiimotes send their button changes to the MIDI channels 1 to 4 respectively. Are you sure this is not the case for you?

04-22-2011, 10:57 PM
ahh... will check and get back to you