Hi all

On Thu, 2010-05-13 at 14:27 +0200, IOhannes m zmölnig wrote:
> Roman Haefeli wrote:
> > When connecting to a wiimote with a Classic Controller attached,
> > [wiimote] prints to the Pd console:
> > 
> >  wiimote 0 is successfully connected
> >  Retrieved wiimote calibration: zero=(123,123,123) one=(147,148,148)
> >  Classic controller attached. There is no real support for this yet.
> >  Classic controller attached. There is no real support for this yet.
> 
> the warning mainly appears, because i haven't been able to test it.

It works as expected. Cool! And many thanks! 
I removed the now bogus messages from wiimote.c (see attached
wiimote.patch)

 
> > Pressing keys and using the analog sticks of the extension doesn't cause
> > any output, also there doesn't seem to be a method to activate
> > reporting. 
> 
> there is, but it's not documented :-(
> 
> try [report classic 1( to turn reporting on for that extension.
> 
> the idea was to have only one method "report" rather than adding a new
> method "reportFooBar" for every extension there will be.

Yo, that totally makes sense in my eyes. I find it usually much easier
to deal with messages split into elements
insteadOfHavingEverythingInOneBigSymbolProabablyEvenWithCamelCase (and
it pollutes the symbol table less).

I noticed that this works also for the other reporting submethodes. I
adapted the help patch accordingly and added the missing parts for
MotionPlus and ClassicController. Both seem fully functional. Still
missing is:

 * confirmation, that nunchuk works
 * testing of balance (and completing the section in the help file)

I'll put updated deb packages online. 
 
Roman


--- wiimote.c	2010-05-14 10:54:42.183747001 +0200
+++ wiimote_new.c	2010-05-14 13:35:33.104747001 +0200
@@ -523,7 +523,7 @@
 #endif
 #ifdef CWIID_RPT_CLASSIC
       case CWIID_EXT_CLASSIC:
-         post("Classic controller attached. There is no real support for this yet.");
+         post("Classic controller attached.");
          break;
 #endif
 #ifdef CWIID_RPT_BALANCE
#N struct IR-blobs float x float y symbol s;
#N struct NC-stick float x float y;
#N struct cc-left-stick float x float y;
#N struct cc-right-stick float x float y;
#N canvas 13 0 1208 665 10;
#X text 8 9 IN ORDER TO CONNECT: First put the wiimote into discover
mode (press buttons 1 and 2 simultaneously).;
#X text 16 364 You can also specify the address as a creation argument:
;
#X text 15 380 (make sure to enable discover mode before creation)
;
#X obj 436 471 cnv 15 375 180 empty empty Nunchuk: 10 15 0 14 -228992
-355 0;
#X floatatom 583 593 7 0 0 1 _X #0-nc-accX-set #0-nc-accX;
#X floatatom 583 607 7 0 0 1 _Y #0-nc-accY-set #0-nc-accY;
#X floatatom 583 621 7 0 0 1 _Z #0-nc-accZ-set #0-nc-accZ;
#X obj 453 593 hsl 128 14 -1 1 0 0 \$0-nc-accX \$0-nc-accX-set empty
-2 -8 0 10 -261681 -1 -1 0 1;
#X obj 453 607 hsl 128 14 -1 1 0 0 \$0-nc-accY \$0-nc-accY-set empty
-2 -8 0 10 -261681 -1 -1 0 1;
#X obj 453 621 hsl 128 14 -1 1 0 0 \$0-nc-accZ \$0-nc-accZ-set empty
-2 -8 0 10 -261681 -1 -1 0 1;
#X obj 718 511 nbx 3 16 -1e+37 1e+37 0 0 empty \$0-nc-btn-set empty
-80 8 0 10 -261681 -1 -1 0 256;
#X text 449 577 Acceleration:;
#X text 651 508 Buttons:;
#X text 717 544 Stick:;
#X obj 435 5 cnv 15 375 460 empty empty Wiimote: 10 15 0 14 -261689
-143491 0;
#X floatatom 577 159 7 0 0 1 _X #0-wii-accX-set #0-wii-accX;
#X floatatom 577 173 7 0 0 1 _Y #0-wii-accY-set #0-wii-accY;
#X floatatom 577 187 7 0 0 1 _Z #0-wii-accZ-set #0-wii-accZ;
#X obj 447 159 hsl 128 14 -1 1 0 0 \$0-wii-accX \$0-wii-accX-set empty
-2 -8 0 10 -204786 -1 -1 5821 1;
#X obj 447 173 hsl 128 14 -1 1 0 0 \$0-wii-accY \$0-wii-accY-set empty
-2 -8 0 10 -204786 -1 -1 6604 1;
#X obj 447 187 hsl 128 14 -1 1 0 0 \$0-wii-accZ \$0-wii-accZ-set empty
-2 -8 0 10 -204786 -1 -1 12700 1;
#N canvas 525 243 481 416 IR-data 0;
#X scalar IR-blobs 348 50 blob1 \;;
#X scalar IR-blobs 458 416 blob2 \;;
#X scalar IR-blobs 224 426 blob3 \;;
#X scalar IR-blobs 379 426 blob4 \;;
#X coords 0 0 1024 768 256 196 1;
#X restore 443 260 pd IR-data;
#X text 444 242 IR Blobs (1024x768):;
#X floatatom 577 207 7 0 0 1 _PITCH #0-wii-pitch-set #0-wii-pitch;
#X obj 447 207 hsl 128 14 -3.14156 3.14159 0 0 \$0-wii-pitch \$0-wii-pitch-set
empty -2 -8 0 10 -204786 -1 -1 6269 1;
#X floatatom 577 221 7 0 0 1 _ROLL #0-wii-roll-set #0-wii-roll;
#X obj 447 221 hsl 128 14 -3.14156 3.14159 0 0 \$0-wii-roll \$0-wii-roll-set
empty -2 -8 0 10 -204786 -1 -1 6518 1;
#X text 447 142 Acceleration (-1 to 1):;
#X text 722 150 Buttons:;
#N canvas 185 133 481 416 NC-data 0;
#X scalar NC-stick 130 133 \;;
#X coords 0 0 256 256 80 80 1;
#X restore 716 561 pd NC-data;
#X obj 15 427 print;
#X obj 13 193 s \$0.to.wiimote;
#X msg 28 121 discover;
#X msg 13 74 connect 00:1F:C5:0B:1F:86;
#X msg 39 164 disconnect;
#X obj 500 36 tgl 25 0 empty empty IR 6 12 0 10 -4160 -1 -1 0 1;
#X msg 500 90 report ir \$1;
#X msg 441 69 report acceleration \$1;
#X obj 441 35 tgl 25 0 empty empty Acc 4 12 0 10 -204786 -1 -1 0 1
;
#X obj 709 40 tgl 25 0 empty empty empty 17 7 0 10 -232576 -1 -1 0
1;
#X msg 611 92 setLED \$1;
#X obj 611 39 tgl 15 0 empty empty empty 17 7 0 10 -4032 -1 -1 0 1
;
#X obj 635 39 tgl 15 0 empty empty empty 17 7 0 10 -4032 -1 -1 0 1
;
#X obj 660 39 tgl 15 0 empty empty empty 17 7 0 10 -4032 -1 -1 0 1
;
#X obj 685 40 tgl 15 0 empty empty empty 17 7 0 10 -4032 -1 -1 0 1
;
#X text 606 15 LEDs:;
#N canvas 0 0 409 401 bytemask 0;
#X obj 269 332 outlet;
#X obj 269 279 float;
#X obj 318 183 |;
#X obj 110 239 -;
#X obj 110 204 float;
#X obj 110 184 trigger bang float;
#X obj 231 204 &;
#X obj 183 142 route 0 1;
#X msg 36 56 \$1 1;
#X msg 106 56 \$1 2;
#X msg 176 56 \$1 4;
#X msg 246 56 \$1 8;
#X obj 36 15 inlet;
#X obj 106 15 inlet;
#X obj 176 15 inlet;
#X obj 246 15 inlet;
#X obj 36 35 change;
#X obj 106 35 change;
#X obj 176 35 change;
#X obj 246 35 change;
#X connect 1 0 2 1;
#X connect 1 0 4 1;
#X connect 1 0 6 1;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 6 0;
#X connect 6 0 3 1;
#X connect 7 0 5 0;
#X connect 7 1 2 0;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 10 0 7 0;
#X connect 11 0 7 0;
#X connect 12 0 16 0;
#X connect 13 0 17 0;
#X connect 14 0 18 0;
#X connect 15 0 19 0;
#X connect 16 0 8 0;
#X connect 17 0 9 0;
#X connect 18 0 10 0;
#X connect 19 0 11 0;
#X restore 611 69 pd bytemask;
#X msg 709 91 setRumble \$1;
#X obj 441 113 s \$0.to.wiimote;
#X text 708 17 Rumble;
#X obj 611 116 s \$0.to.wiimote;
#N canvas 26 364 554 440 buttons 0;
#X obj 11 11 r \$0.from.wiimote;
#X obj 11 33 route button;
#X obj 33 387 s \$0.button.up;
#X obj 66 363 s \$0.button.down;
#X obj 103 338 s \$0.button.left;
#X obj 138 313 s \$0.button.right;
#X obj 177 286 s \$0.button.a;
#X obj 212 261 s \$0.button.b;
#X obj 243 235 s \$0.button.minus;
#X obj 280 208 s \$0.button.home;
#X obj 325 180 s \$0.button.plus;
#X obj 372 151 s \$0.button.1;
#X obj 404 122 s \$0.button.2;
#X obj 11 79 unpack f f;
#X obj 11 56 list;
#X obj 33 359 & 8;
#X obj 66 335 & 4;
#X obj 103 310 & 1;
#X obj 138 285 & 2;
#X obj 177 258 & 8;
#X obj 212 233 & 4;
#X obj 243 207 & 16;
#X obj 280 180 & 128;
#X obj 325 152 & 16;
#X obj 372 123 & 2;
#X obj 404 94 & 1;
#X connect 0 0 1 0;
#X connect 1 0 14 0;
#X connect 13 0 15 0;
#X connect 13 0 16 0;
#X connect 13 0 17 0;
#X connect 13 0 18 0;
#X connect 13 0 23 0;
#X connect 13 1 19 0;
#X connect 13 1 20 0;
#X connect 13 1 21 0;
#X connect 13 1 22 0;
#X connect 13 1 24 0;
#X connect 13 1 25 0;
#X connect 14 0 13 0;
#X connect 15 0 2 0;
#X connect 16 0 3 0;
#X connect 17 0 4 0;
#X connect 18 0 5 0;
#X connect 19 0 6 0;
#X connect 20 0 7 0;
#X connect 21 0 8 0;
#X connect 22 0 9 0;
#X connect 23 0 10 0;
#X connect 24 0 11 0;
#X connect 25 0 12 0;
#X restore 711 385 pd buttons;
#N canvas 12 0 677 674 accel 0;
#X obj 359 239 unpack 0 0 0;
#X obj 92 612 expr sqrt(pow($f1 \, 2) + pow($f2 \, 2) + pow($f3 \,
2));
#X obj 350 298 atan;
#X obj 350 277 expr $f1 / $f2;
#X obj 383 322 expr if ($f1 > 0 \, 3.14159 \, -3.14159);
#X obj 350 349 pack 0 0 0;
#X obj 350 371 expr if ($f3 <= 0 \, $f1 + $f2 \, $f1);
#X obj 350 393 * -1;
#X obj 299 128 unpack 0 0 0;
#X obj 35 461 s \$0-wii-pitch-set;
#X obj 350 463 s \$0-wii-roll-set;
#X obj 378 148 s \$0-wii-accZ-set;
#X obj 338 167 s \$0-wii-accY-set;
#X obj 299 186 s \$0-wii-accX-set;
#X text 75 514 The pitch and roll are only accurate if there are no
extra accelerations due to hand movement. We can check if the total
acceleration is close to gravity and only use pitch and roll in that
case. The total acceleration is given by:;
#X text 311 106 raw accerlation:;
#X obj 24 239 unpack 0 0 0;
#X obj 35 298 atan;
#X obj 35 277 expr $f1 / $f2;
#X obj 67 322 expr if ($f1 > 0 \, 3.14159 \, -3.14159);
#X obj 35 349 pack 0 0 0;
#X obj 35 371 expr if ($f3 <= 0 \, $f1 + $f2 \, $f1);
#X obj 35 393 * -1;
#X obj 225 578 unpack 0 0 0;
#X obj 126 71 t a;
#X obj 126 20 r \$0.from.wiimote;
#X obj 126 44 route acceleration;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 0 2 3 1;
#X connect 0 2 5 2;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 5 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 13 0;
#X connect 8 1 12 0;
#X connect 8 2 11 0;
#X connect 16 1 18 0;
#X connect 16 1 19 0;
#X connect 16 2 18 1;
#X connect 16 2 20 2;
#X connect 17 0 20 0;
#X connect 18 0 17 0;
#X connect 19 0 20 1;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 9 0;
#X connect 23 0 1 0;
#X connect 23 1 1 1;
#X connect 23 2 1 2;
#X connect 24 0 8 0;
#X connect 24 0 16 0;
#X connect 24 0 0 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X restore 711 410 pd accel;
#N canvas 35 29 729 581 ir 0;
#N canvas 631 449 342 204 IR-blobs 0;
#X obj 39 34 struct IR-blobs float x float y symbol s;
#X obj 39 71 filledcurve 9 30 0 0 -30 -30 0 0 30 30 0;
#X obj 48 112 drawsymbol s -60 -75 0 1 blob;
#X restore 8 19 pd IR-blobs;
#X obj 122 510 pointer;
#X msg 122 488 traverse pd-IR-data \, next;
#X obj 134 63 route 0 1 2 3;
#X obj 23 482 unpack 0 0 0;
#X obj 15 533 set IR-blobs x y;
#X obj 231 400 pointer;
#X obj 132 372 unpack 0 0 0;
#X obj 124 423 set IR-blobs x y;
#X msg 231 378 traverse pd-IR-data \, next \, next;
#X obj 231 357 loadbang;
#X obj 122 467 loadbang;
#X obj 320 289 pointer;
#X obj 221 261 unpack 0 0 0;
#X obj 213 312 set IR-blobs x y;
#X obj 320 246 loadbang;
#X msg 320 267 traverse pd-IR-data \, next \, next \, next;
#X obj 380 177 pointer;
#X obj 281 149 unpack 0 0 0;
#X obj 273 200 set IR-blobs x y;
#X obj 380 134 loadbang;
#X msg 380 155 traverse pd-IR-data \, next \, next \, next \, next
;
#X obj 134 18 r \$0.from.wiimote;
#X obj 134 40 route ir;
#X connect 1 0 5 2;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 3 1 7 0;
#X connect 3 2 13 0;
#X connect 3 3 18 0;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 6 0 8 2;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 6 0;
#X connect 10 0 9 0;
#X connect 11 0 2 0;
#X connect 12 0 14 2;
#X connect 13 0 14 0;
#X connect 13 1 14 1;
#X connect 15 0 16 0;
#X connect 16 0 12 0;
#X connect 17 0 19 2;
#X connect 18 0 19 0;
#X connect 18 1 19 1;
#X connect 20 0 21 0;
#X connect 21 0 17 0;
#X connect 22 0 23 0;
#X connect 23 0 3 0;
#X restore 710 436 pd ir;
#X obj 735 189 tgl 13 0 \$0.bli \$0.button.left empty 17 7 0 10 -191407
-1 -1 0 1;
#X obj 763 189 tgl 13 0 \$0.bli \$0.button.right empty 17 7 0 10 -191407
-1 -1 0 2;
#X obj 749 203 tgl 13 0 \$0.bli \$0.button.down empty 17 7 0 10 -191407
-1 -1 0 4;
#X obj 749 175 tgl 13 0 \$0.bli \$0.button.up empty 17 7 0 10 -191407
-1 -1 0 8;
#X obj 726 288 tgl 13 0 \$0.bli \$0.button.minus - 5 8 0 10 -191407
-1 -1 0 16;
#X obj 750 288 tgl 13 0 \$0.bli \$0.button.home empty 17 7 0 10 -191407
-1 -1 0 128;
#X obj 774 288 tgl 13 0 \$0.bli \$0.button.plus + 5 8 0 10 -191407
-1 -1 0 16;
#X obj 747 228 tgl 18 0 \$0.bli \$0.button.b B 5 9 1 13 -191407 -1
-1 0 4;
#X obj 747 240 tgl 18 0 \$0.bli \$0.button.a A 5 9 1 13 -191407 -1
-1 0 8;
#X obj 749 322 tgl 16 0 \$0.bli \$0.button.1 1 5 9 1 11 -191407 -1
-1 0 2;
#X obj 749 349 tgl 16 0 \$0.bli \$0.button.2 2 5 9 1 11 -191407 -1
-1 0 1;
#X obj 452 498 tgl 25 0 empty empty empty 17 7 0 10 -261682 -1 -1 0
1;
#X msg 452 528 report nunchuk \$1;
#X obj 452 549 s \$0.to.wiimote;
#N canvas 0 225 743 313 nunchuk 0;
#X obj 15 55 route button acceleration stick;
#X obj 494 184 pointer;
#X obj 494 141 loadbang;
#X obj 387 153 unpack 0 0;
#X obj 387 229 set NC-stick x y;
#X obj 160 148 unpack 0 0 0;
#X obj 240 169 s \$0-nc-accZ-set;
#X obj 200 188 s \$0-nc-accY-set;
#X obj 160 211 s \$0-nc-accX-set;
#X obj 15 169 s \$0-nc-btn-set;
#X msg 494 162 traverse pd-NC-data \, next;
#X obj 15 11 r \$0.from.wiimote;
#X obj 15 33 route nunchuk;
#N canvas 154 209 610 221 NC-stick 0;
#X obj 39 34 struct NC-stick float x float y;
#X obj 44 71 filledpolygon 900 20 0 5 -5 0 -20 -5 -5 -20 0 -5 5 0 20
5 5 20 0;
#X restore 386 262 pd NC-stick;
#X connect 0 0 9 0;
#X connect 0 1 5 0;
#X connect 0 2 3 0;
#X connect 1 0 4 2;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 5 0 8 0;
#X connect 5 1 7 0;
#X connect 5 2 6 0;
#X connect 10 0 1 0;
#X connect 11 0 12 0;
#X connect 12 0 0 0;
#X restore 600 549 pd nunchuk;
#X obj 816 5 cnv 15 375 160 empty empty MotionPlus: 10 15 0 14 -262130
-83269 0;
#X obj 827 36 tgl 25 0 empty empty empty 17 7 0 10 -203904 -1 -1 0
1;
#X msg 827 66 report motionplus \$1;
#X obj 827 87 s \$0.to.wiimote;
#X floatatom 958 115 7 0 0 1 _pitch #0-wii-mp-pitch-set #0-wii-mp-pitch
;
#X floatatom 958 129 7 0 0 1 _roll #0-wii-mp-roll-set #0-wii-mp-roll
;
#X floatatom 958 143 7 0 0 1 _yaw #0-wii-mp-yaw-set #0-wii-mp-yaw;
#X obj 828 115 hsl 128 14 0 16000 0 0 \$0-wii-mp-pitch \$0-wii-mp-pitch-set
empty -2 -8 0 10 -203904 -1 -1 6053 1;
#X obj 828 129 hsl 128 14 0 16000 0 0 \$0-wii-mp-roll \$0-wii-mp-roll-set
empty -2 -8 0 10 -203904 -1 -1 6931 1;
#X obj 828 143 hsl 128 14 0 16000 0 0 \$0-wii-mp-yaw \$0-wii-mp-yaw-set
empty -2 -8 0 10 -203904 -1 -1 6879 1;
#N canvas 0 0 308 266 motionplus 0;
#X obj 8 51 route motionplus;
#X obj 8 73 route angle_rate low_speed;
#X obj 97 98 unpack f f f;
#X obj 8 134 unpack f f f;
#X obj 8 20 r \$0.from.wiimote;
#X obj 8 209 s \$0-wii-mp-pitch-set;
#X obj 48 187 s \$0-wii-mp-roll-set;
#X obj 89 162 s \$0-wii-mp-yaw-set;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 3 0 5 0;
#X connect 3 1 6 0;
#X connect 3 2 7 0;
#X connect 4 0 0 0;
#X restore 1039 66 pd motionplus;
#X obj 817 171 cnv 15 375 260 empty empty ClassicController: 10 15
0 14 -204786 -13381 0;
#X obj 215 317 spigot;
#X obj 215 339 print WIIMOTE;
#X obj 215 280 r \$0.from.wiimote;
#X obj 254 299 tgl 15 0 empty empty print_data 19 7 0 13 -261234 -1
-1 0 1;
#X obj 838 290 tgl 14 0 \$0.bli \$0.cc.button.L empty 17 7 0 10 -228856
-1 -1 0 32;
#X obj 852 290 nbx 2 14 -1e+37 1e+37 0 0 \$0.bli \$0.cc.analog.L empty
0 -8 0 10 -228856 -1 -1 3 256;
#X obj 921 280 tgl 14 0 \$0.bli \$0.cc.button.zl empty 17 7 0 10 -228856
-1 -1 0 128;
#X obj 1091 290 tgl 14 0 \$0.bli \$0.cc.button.R empty 17 7 0 10 -228856
-1 -1 0 2;
#X obj 1105 290 nbx 2 14 -1e+37 1e+37 0 0 \$0.bli \$0.cc.analog.R empty
0 -8 0 10 -228856 -1 -1 3 256;
#X obj 1036 280 tgl 14 0 \$0.bli \$0.cc.button.zr empty 17 7 0 10 -228856
-1 -1 0 4;
#X obj 861 334 tgl 14 0 \$0.bli \$0.cc.button.up empty 17 7 0 10 -228856
-1 -1 0 1;
#X obj 880 353 tgl 14 0 \$0.bli \$0.cc.button.right empty 17 7 0 10
-228856 -1 -1 0 128;
#X obj 842 353 tgl 14 0 \$0.bli \$0.cc.button.left empty 17 7 0 10
-228856 -1 -1 0 2;
#X obj 861 372 tgl 14 0 \$0.bli \$0.cc.button.down empty 17 7 0 10
-228856 -1 -1 0 64;
#X obj 953 332 tgl 13 0 \$0.bli \$0.cc.button.minus - 5 8 0 10 -228856
-1 -1 0 16;
#X obj 977 332 tgl 13 0 \$0.bli \$0.cc.button.home empty 17 7 0 10
-228856 -1 -1 0 8;
#X obj 1001 332 tgl 13 0 \$0.bli \$0.cc.button.plus + 5 8 0 10 -228856
-1 -1 0 4;
#X obj 1100 331 tgl 16 0 \$0.bli \$0.cc.button.x x 5 8 0 10 -228856
-1 -1 0 8;
#X obj 1121 352 tgl 16 0 \$0.bli \$0.cc.button.a a 5 8 0 10 -228856
-1 -1 0 16;
#X obj 1079 352 tgl 16 0 \$0.bli \$0.cc.button.y y 5 8 0 10 -228856
-1 -1 0 32;
#X obj 1100 373 tgl 16 0 \$0.bli \$0.cc.button.b b 5 8 0 10 -228856
-1 -1 0 64;
#X msg 828 230 report classic \$1;
#X obj 828 200 tgl 25 0 empty empty empty 17 7 0 10 -228856 -1 -1 1
1;
#X obj 828 253 s \$0.to.wiimote;
#N canvas 99 0 677 676 classic 0;
#X obj 9 11 r \$0.from.wiimote;
#X obj 9 33 route classic;
#X obj 9 55 route button right_stick left_stick left right;
#X obj 9 215 unpack f f;
#X obj 7 642 s \$0.cc.button.left;
#X obj 38 621 s \$0.cc.button.right;
#X obj 83 599 s \$0.cc.button.down;
#X obj 120 577 s \$0.cc.button.up;
#X obj 152 554 s \$0.cc.button.x;
#X obj 183 533 s \$0.cc.button.y;
#X obj 293 467 s \$0.cc.button.L;
#X obj 331 445 s \$0.cc.button.zl;
#X obj 378 423 s \$0.cc.button.zr;
#X obj 409 402 s \$0.cc.button.R;
#X obj 440 379 s \$0.cc.button.minus;
#X obj 476 357 s \$0.cc.button.home;
#X obj 507 336 s \$0.cc.button.plus;
#X obj 7 620 & 2;
#X obj 38 599 & 128;
#X obj 120 555 & 1;
#X obj 83 577 & 64;
#X obj 152 532 & 8;
#X obj 183 511 & 32;
#X obj 219 489 & 64;
#X obj 219 511 s \$0.cc.button.b;
#X obj 256 489 s \$0.cc.button.a;
#X obj 256 467 & 16;
#X obj 293 445 & 32;
#X obj 331 423 & 128;
#X obj 378 401 & 4;
#X obj 409 380 & 2;
#X obj 440 357 & 16;
#X obj 476 335 & 8;
#X obj 507 314 & 4;
#X obj 200 99 s \$0.cc.analog.L;
#X obj 264 77 s \$0.cc.analog.R;
#N canvas 0 0 456 304 left_stick 0;
#X obj 132 150 pointer;
#X obj 132 107 loadbang;
#X obj 25 80 unpack 0 0;
#X msg 132 128 traverse pd-cc.l \, next;
#X obj 25 195 set cc-left-stick x y;
#N canvas 302 445 610 221 cc-left-stick 0;
#X obj 39 68 filledpolygon 900 20 0 5 -5 0 -20 -5 -5 -20 0 -5 5 0 20
5 5 20 0;
#X obj 39 34 struct cc-left-stick float x float y;
#X restore 24 228 pd cc-left-stick;
#X obj 25 31 inlet;
#X obj 92 105 * -1;
#X obj 92 127 + 64;
#X obj 25 153 * 2;
#X obj 92 159 * 2;
#X connect 0 0 4 2;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 7 0;
#X connect 3 0 0 0;
#X connect 6 0 2 0;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 9 0 4 0;
#X connect 10 0 4 1;
#X restore 136 131 pd left_stick;
#N canvas 0 0 456 304 right_stick 0;
#X obj 176 144 pointer;
#X obj 177 101 loadbang;
#X obj 25 79 unpack 0 0;
#X obj 25 31 inlet;
#X obj 92 104 * -1;
#X msg 177 122 traverse pd-cc.r \, next;
#X obj 25 192 set cc-right-stick x y;
#N canvas 302 445 610 221 cc-right-stick 0;
#X obj 39 68 filledpolygon 900 20 0 5 -5 0 -20 -5 -5 -20 0 -5 5 0 20
5 5 20 0;
#X obj 39 34 struct cc-right-stick float x float y;
#X restore 24 228 pd cc-right-stick;
#X obj 92 126 + 32;
#X obj 25 159 * 4;
#X obj 92 157 * 4;
#X connect 0 0 6 2;
#X connect 1 0 5 0;
#X connect 2 0 9 0;
#X connect 2 1 4 0;
#X connect 3 0 2 0;
#X connect 4 0 8 0;
#X connect 5 0 0 0;
#X connect 8 0 10 0;
#X connect 9 0 6 0;
#X connect 10 0 6 1;
#X restore 72 156 pd right_stick;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 37 0;
#X connect 2 2 36 0;
#X connect 2 3 34 0;
#X connect 2 4 35 0;
#X connect 3 0 20 0;
#X connect 3 0 18 0;
#X connect 3 0 27 0;
#X connect 3 0 30 0;
#X connect 3 0 31 0;
#X connect 3 0 32 0;
#X connect 3 0 33 0;
#X connect 3 1 17 0;
#X connect 3 1 19 0;
#X connect 3 1 21 0;
#X connect 3 1 22 0;
#X connect 3 1 23 0;
#X connect 3 1 26 0;
#X connect 3 1 28 0;
#X connect 3 1 29 0;
#X connect 17 0 4 0;
#X connect 18 0 5 0;
#X connect 19 0 7 0;
#X connect 20 0 6 0;
#X connect 21 0 8 0;
#X connect 22 0 9 0;
#X connect 23 0 24 0;
#X connect 26 0 25 0;
#X connect 27 0 10 0;
#X connect 28 0 11 0;
#X connect 29 0 12 0;
#X connect 30 0 13 0;
#X connect 31 0 14 0;
#X connect 32 0 15 0;
#X connect 33 0 16 0;
#X restore 1038 219 pd classic;
#N canvas 325 377 481 416 cc.l 0;
#X scalar cc-left-stick 62 66 \;;
#X coords 0 0 128 128 50 50 1;
#X restore 921 365 pd cc.l;
#N canvas 185 133 481 416 cc.r 0;
#X scalar cc-right-stick 64 64 \;;
#X coords 0 0 128 128 50 50 1;
#X restore 1003 364 pd cc.r;
#X obj 15 401 wiimote 00:1F:C5:0B:1F:86;
#X text 10 221 By default \, the wiimote does not report acceleration
data \, IR data \, or any data from an attached extension (eg \, nunchuck).
You must specifically enable each reporting mode.;
#X obj 817 436 cnv 15 375 215 empty empty Balance: 10 15 0 14 -232576
-13381 0;
#X obj 826 465 tgl 25 0 empty empty empty 17 7 0 10 -261234 -1 -1 0
1;
#X obj 826 518 s \$0.to.wiimote;
#X msg 826 495 report balance \$1;
#N canvas 0 294 445 263 balance 0;
#X obj 8 20 r \$0.from.wiimote;
#X obj 8 51 route balance;
#X text 4 88 (this needs to be still done \, as soon as a balancer
is available);
#X connect 0 0 1 0;
#X restore 1029 478 pd balance;
#X obj 16 279 cnv 15 140 70 empty empty empty 20 12 0 14 -228856 -66577
0;
#X obj 21 305 wiimote;
#X obj 21 283 r \$0.to.wiimote;
#X obj 21 327 s \$0.from.wiimote;
#X text 10 55 Then you can connect to a specific address:;
#X text 27 103 Or you can try to automatically detect a wiimote:;
#X text 862 569 ! Untested !;
#X text 866 589 (but might work);
#X connect 32 0 31 0;
#X connect 33 0 31 0;
#X connect 34 0 31 0;
#X connect 35 0 36 0;
#X connect 36 0 48 0;
#X connect 37 0 48 0;
#X connect 38 0 37 0;
#X connect 39 0 47 0;
#X connect 40 0 50 0;
#X connect 41 0 46 0;
#X connect 42 0 46 1;
#X connect 43 0 46 2;
#X connect 44 0 46 3;
#X connect 46 0 40 0;
#X connect 47 0 50 0;
#X connect 65 0 66 0;
#X connect 66 0 67 0;
#X connect 70 0 71 0;
#X connect 71 0 72 0;
#X connect 81 0 82 0;
#X connect 83 0 81 0;
#X connect 84 0 81 1;
#X connect 102 0 104 0;
#X connect 103 0 102 0;
#X connect 108 0 30 0;
#X connect 111 0 113 0;
#X connect 113 0 112 0;
#X connect 116 0 118 0;
#X connect 117 0 116 0;
#X coords 0 0 1 1 50 50 0;
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to