Unsupported — We cannot guarantee that this software will work properly on Mac OS 10.8 and above. Please be careful.

Release: WiiMote Control, v20080301

Release Type: Beta
Version: 20080301
Release Notes

This beta includes a couple tweaks and fixes. Nothing major.

Checkerboard bug was fixed.

IR output no longer outputs -100 when it looses tracking; instead it retains its last value. You can use the IR structure values to detect tracking loss (since it returns nan's when it loses tracking).

No stability/reliability changes took place.

WiiMoteControlPatch-20080301.zip105.96 KB

tobyspark's picture
thx thx thx

...and there was me just packaging up the release version of the installation.

thanks for the checker fix, and the non-100 version i've had for the past week or so has really helped.

ml's picture
loosing connection

i have been using the older version of this for wii-nster. i have had trouble with the patch not recognizing the wiimote, even though DarwinRemote & OSCulator pick up on it immediately. Have you had reports of this before and will this update address this?

thx ml

cwright's picture
can't hurt

Depending on the previous version, this one may address some connection issues.

DarwiinRemote does not reliably detect the wiimote -- this patch is based on the code from that project, and performs the same operations, so it has similar success/failure characteristics. I've not used or looked at OSCulator to know if it does something else.

So I guess you can give it a whirl, and see if it helps any.

robsaunders's picture
Helping out with development

I'd like to offer to help developing this patch a bit further. I started development of a similar patch a little while ago but stopped when I found this patch. For my personal use I've found this patch to be very good but there are a couple of things that I'd like to fix/add. These both relate to using the patch in classroom situations where I've encountered a few issues:

  1. The patch appears to remain in discovery mode after it has connected to a Wii Remote. This causes problems because the patch appears to simply combine the inputs from the wiimotes. I think this can be fixed simply by limiting the number of remotes wiimotes that the patch will connect to, or possibly by having an input that controls whether the patch is in discovery mode. This second solution might work better for compositions where someone wants to have multiple wiimotes connected and needs to schedule the connection to happen sequentially.

  2. It would be very helpful to limit the Wii Remotes that an instance of the patch will connect to. For some of my students, using Processing, I've achieved this by providing the Bluetooth address that their programs will try to connect to. The WiiRemote class in DarwiinRemote framework supports connection to a specified IOBluetoothDevice, so I imagine that something similar could be done in this patch by providing an ability to limit the addresses of Bluetooth devices that the patch will connect to. I imagine this to be something that would be done in the Settings pane.

My apologies if I don't need to ask before contributing to this project. I'm new to this site, and although downloading the source code to existing patches is mentioned I haven't found out how that's possible yet.

cwright's picture

Some good points for sure.

Discoverability is a per-application setting, not a per-patch setting, so having a discovery input wouldn't make sense (what if you had 2 patches, and they were in opposite discovery states?)

Limiting the device that can connect to a specific BT address would be pretty simple, and would solve your point 2, as well as 1. I'll look into adding that in a few days if all goes well.

We have become a bit lax on posting source because most of our users aren't programmers. I can e-mail you the source though, if you'd like.

robsaunders's picture
Helping out

Great. That's a very good point about the discoverability, however, I still think it's worth taking a close look at the way each patch takes part in the discovery process. Does it make sense that a single patch can connect to multiple wiimotes, even if the BT addresses haven't been specified? How could two patches (presumably intended to attach to different wiimotes) negotiate the connection procedure at the moment? Should there be a queue of some sort that patches add themselves to and that the (application wide) discovery process manages?

I'm sure it would be quicker for you to add the functionality to limit by BT address than me, simply by virtue of it being your code. But obviously, I can test in quite a challenging environment here at The University of Sydney, i.e., up to 40 computers in a class trying to communicate with a similar number of Wii Remotes at the same time, so I can quickly test how well limiting by BT address works.

Having said that, our students will almost certainly ask for other things that the plug-in doesn't support at the moment, or might be worth having another patch for, e.g., a WiiFit (Balance Board) patch and I'd be very happy to work on adding such functionality.

Please take a look at my University home page to find out my e-mail address because it's encrypted on that page in an attempt to reduce my spam overload.

NYDave's picture
Kineme shout out and demo at PixelCorps.tv

Anyone playing with this patch will appreciate this video, showing the Wiimote patch in use with QC and a pair of IR goggles to do the Johnny Chung Lee VR trick:


They post the compositions to use, but somehow neglect to post a link to the patch here. A brief subtitle on the video notes v.02.

But let me ask - is it kineem, as they pronounce it, or kinemay as I had always thought?

cwright's picture

there's a thread somewhere (or a poll or something) where this was discussed.

The creator's intent was that it was "kin-uh-may", or maybe "kin-ee-may".

However, most people read it as "kineem," like "phoneme".

Either way is fine, but all our stuff will have it pronounced "kin-uh-may" in an American English accent :)

[see also: http://kineme.net/wiki/HowisKinemePronounced ]

[P.S. -- about the shout out: HOLY. CRAP. the end.]

smokris's picture
Screenshots of Shoutout

(for better narcissisms)

macbreak161-kineme.png548.56 KB
macbreak161-kineme2.png548.81 KB

psonice's picture
Cool, but.. teapots?

That was actually pretty cool. Apart from the huge nest of math patches.. I hate seeing that since getting used to the mathematical expression patch.

The actual composition was pretty boring though.. sure, teapots have some tradition, but even so they could have been presented nicely rather than just randomly and with random rgb colours :/

cwright's picture

seriously... especially considering the ambiguity of the math patch (it has 4 operations... but no idea which ones, or what values it's using...). Math Expression is pretty clear from the title alone. So handy.

And they should have used kineme3D for more interesting models ;)

tobyspark's picture
i nearly had a seizure when

i nearly had a seizure when i saw the math not mathexp patches.

psonice's picture

I guess the math patch is good for learning. I used it a lot at first, until I got used to the good one. Same with the logic patch - there's very little need for it once you figure out that you can put "a || b" in a math expression (although I admit I still use the logic patch when I can't remember the syntax for XOR ;)

I'm interested to know how he could have used kineme3d to load some objects though.. has it been released somewhere?

cwright's picture

not released, I was being somewhat facetious (since teapots are about as fancy as it gets for 3d in QC by itself).

I didn't realize there was an xor in the math expression patch... then I read the description (first time ever! :) and found out it was !& -- very cool. even more handy now.

psonice's picture
Only 3 math expressions!

Having taken a quick look (but without testing as I'm without a wiimote), I reckon it's possible to do all of that with just 3 math expression patches. And that includes the one that's already there.

Actually, some of the math patches do nothing (a+0!?) and some have stages that do nothing (a/1!). Guess it was a quick hack :)

CWright or Smokris: I can't edit my last post - I get access denied, but it's letting me write this new one.

smokris's picture
Editing Comments

psonice wrote:
I can't edit my last post - I get access denied, but it's letting me write this new one.

Once someone has replied to a comment, it can no longer be edited.

psonice's picture

Ok, makes sense now, thanks. Might be worth adding a link to that on the 'access denied' page if it's a quick job, it could save on replies later :)

jrs's picture
math vs math exp

I still tend to use math instead of mathexp in cases as I have it in my head that there would be a much bigger performance hit for the mathexp pathch due to needing to parse the string - don't suppose anyone can comment on this with more than just a thought

cwright's picture

Somewhat surprisingly, mathexp is faster than math (see here: http://lists.apple.com/archives/Quartzcomposer-dev/2008/Aug/msg00063.html )

The reason for this is probably because the math patch has more ports, which means it has to fire more messages to read data, and more expensively, it has to fire notifications for them all too. Math expression doesn't have to do that for each operator.

since the string doesn't change in mathexp, it only parses it once, and then stores the parsed results for faster processing on subsequent frames.

songcarver's picture

Hi guys. That was me up there doing teapot stuff.

I'm sorry the patch wasn't as clean or as interesting as it could be — I only put it together on short notice and built those IR-equipped glasses in the back of the set. The general idea was to show off the Johnny Lee idea, plus a few others for balance.

Thanks for making such cool plugins, and sorry for mispronouncing your name!


cwright's picture

No worries about the name or the composition. :) Sorry about sounding a bit harsh -- it wasn't my intent. I've not been able to get head tracking to work yet, so even that is a great start. I'm sure a few of our users will be making great use of that in the future.

Thank you so much for the publicity :)

I saw the name 'songcarver' somewhere in conjunction with QC (and maybe even kineme?) -- any thoughts on what that might have been? Or maybe I'm just imagining things....

FilipeQ's picture
Re: WiiMote Control Patch, 20080301 beta

Hi guys during the connection i got the following warning in quartz, it's a "normal" connection error or I'm i doing something wrong

-[WiiMoteControlPatch irPointMovedX:Y:]: unrecognized selector sent to instance 0x1557fa90

< No backtrace available >

Installation Instructions

Place the plugin file in
/Users/[you]/Library/Graphics/Quartz Composer Patches/
(Create the folder if it doesn't already exist.)