From d97ac3564e559040da3b87635352da0cea75ab5e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 28 Jan 2010 00:33:07 +0000 Subject: checked in old updated examples that have been sitting here forever svn path=/trunk/externals/io/hidio/; revision=13106 --- examples/gametrak.pd | 329 ++++++++++++++++++++++++++++++++++++++++++++ examples/spiral-joystick.pd | 159 +++++++++++---------- 2 files changed, 408 insertions(+), 80 deletions(-) create mode 100644 examples/gametrak.pd (limited to 'examples') diff --git a/examples/gametrak.pd b/examples/gametrak.pd new file mode 100644 index 0000000..5318912 --- /dev/null +++ b/examples/gametrak.pd @@ -0,0 +1,329 @@ +#N canvas 318 22 740 726 10; +#X declare -path ..; +#X obj 347 39 tgl 35 0 empty empty empty 0 -6 0 8 -24198 -1 -1 25 25 +; +#X msg 513 43 refresh; +#X msg 518 64 print; +#X msg 448 42 info; +#X obj 366 98 hidio; +#X msg 239 21 debug 0; +#N canvas 162 133 570 420 serin 0; +#X obj 209 61 cnv 15 15 15 empty \$0-debug-canvas 0 4 8 0 14 -233017 +-1 0; +#X obj 60 61 hradio 15 1 1 10 empty empty empty 0 -6 0 8 -261689 -1 +-1 0; +#X obj 60 13 inlet; +#X msg 200 202 label \$1; +#X obj 200 180 makefilename %d; +#X obj 59 108 int; +#X obj 59 337 outlet; +#X msg 201 306 set \$1 \$2; +#X obj 59 266 trigger bang anything; +#X obj 201 286 list; +#X msg 60 210 debug \$1; +#X obj 200 225 send \$0-debug-canvas; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 3 0 11 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 5 0 10 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 8 1 9 0; +#X connect 9 0 7 0; +#X connect 10 0 8 0; +#X coords 0 -1 1 1 165 17 1 60 60; +#X restore 239 0 pd serin; +#N canvas 296 84 411 235 see 0; +#N canvas 108 318 543 264 route 0; +#X obj 27 14 inlet; +#X obj 72 226 outlet; +#X obj 19 226 outlet; +#X obj 172 226 outlet; +#X obj 222 204 symbol; +#X obj 222 226 outlet; +#X obj 272 204 symbol; +#X obj 272 226 outlet; +#X obj 322 204 symbol; +#X obj 322 226 outlet; +#X obj 372 204 symbol; +#X obj 372 226 outlet; +#X obj 122 225 outlet; +#X obj 422 204 symbol; +#X obj 422 226 outlet; +#X obj 472 204 symbol; +#X obj 472 226 outlet; +#X obj 26 63 route open device poll total product manufacturer transport +type vendorID productID; +#X connect 0 0 17 0; +#X connect 4 0 5 0; +#X connect 6 0 7 0; +#X connect 8 0 9 0; +#X connect 10 0 11 0; +#X connect 13 0 14 0; +#X connect 15 0 16 0; +#X connect 17 0 2 0; +#X connect 17 1 1 0; +#X connect 17 2 12 0; +#X connect 17 3 3 0; +#X connect 17 4 4 0; +#X connect 17 5 6 0; +#X connect 17 6 8 0; +#X connect 17 7 10 0; +#X connect 17 8 13 0; +#X connect 17 9 15 0; +#X restore 117 70 pd route info; +#X obj 81 96 tgl 15 0 empty empty open 0 -6 0 8 -262144 -1 -1 1 1; +#X obj 110 22 inlet; +#X obj 123 43 print info; +#X symbolatom 304 93 0 0 0 0 productID - -; +#X symbolatom 304 112 0 0 0 0 vendorID - -; +#X symbolatom 304 151 0 0 0 0 transport - -; +#X symbolatom 304 171 0 0 0 0 manufacturer - -; +#X symbolatom 186 192 0 0 0 0 product - -; +#X floatatom 97 140 5 0 0 0 device - -; +#X floatatom 97 162 5 0 0 0 poll - -; +#X symbolatom 304 131 0 0 0 0 type - -; +#X floatatom 97 182 5 0 0 0 total - -; +#X connect 0 0 1 0; +#X connect 0 1 9 0; +#X connect 0 2 10 0; +#X connect 0 3 12 0; +#X connect 0 4 8 0; +#X connect 0 5 7 0; +#X connect 0 6 6 0; +#X connect 0 7 11 0; +#X connect 0 8 5 0; +#X connect 0 9 4 0; +#X connect 2 0 0 0; +#X connect 2 0 3 0; +#X restore 393 122 pd see device info; +#X msg 436 19 close; +#X msg 430 0 open 0x14b7 0x0984; +#X text 552 -1 In2Games Ltd. Game-Trak V1.3; +#X obj 366 167 route absolute button; +#X obj 438 214 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 271 203 route x y z rx ry rz; +#N canvas 0 22 450 300 remove 0; +#X obj 136 141 list trim; +#X obj 131 35 inlet; +#X obj 138 219 outlet; +#X obj 136 87 unpack symbol symbol 0 0; +#X obj 136 116 pack symbol symbol 0; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 1 4 1; +#X connect 3 3 4 2; +#X connect 4 0 0 0; +#X restore 366 145 pd remove instance numbers; +#X obj 200 266 - 31; +#X obj 200 287 / 31; +#X obj 611 59 pddp/dsp; +#N canvas 0 22 590 430 alarm 0; +#X obj 175 37 inlet; +#X obj 176 150 select 1; +#X obj 171 246 dac~; +#X obj 176 215 *~; +#X msg 221 191 0; +#X msg 185 191 1; +#X obj 120 156 *~ 2000; +#X obj 193 106 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 120 132 osc~ 3; +#X obj 221 170 bang; +#X obj 120 180 osc~; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 9 0; +#X connect 3 0 2 0; +#X connect 3 0 2 1; +#X connect 4 0 3 1; +#X connect 5 0 3 1; +#X connect 6 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 6 0; +#X connect 9 0 4 0; +#X connect 10 0 3 0; +#X restore 172 331 pd alarm; +#X obj 358 266 - 31; +#X obj 358 287 / 31; +#X obj 235 375 spherical->cartesian; +#X obj 243 338 trigger bang 0; +#X obj 337 338 trigger bang 0; +#X obj 235 266 / 41177.4; +#X obj 295 266 / 41177.4; +#X text 391 313 pi/2; +#X text 301 314 pi/2; +#X obj 245 314 - 1.5708; +#X obj 333 314 - 1.5708; +#X obj 605 28 declare -path ..; +#X obj 556 481 autoscale; +#X obj 607 427 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 622 450 select 1; +#X obj 436 681 dac~; +#X obj 556 601 *~; +#X obj 588 581 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 419 622 *~; +#X obj 433 591 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 392 528 polar; +#X obj 421 489 autoscale; +#X obj 354 489 autoscale; +#N canvas 0 22 445 332 play 0; +#X obj 131 30 inlet; +#X obj 130 137 mtof; +#X obj 129 159 osc~; +#X obj 130 81 stepper 12; +#X obj 130 108 notescale 50 62; +#X obj 140 295 outlet~; +#X obj 138 237 *~ 1; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 6 0 5 0; +#X restore 556 557 pd play a scale; +#N canvas 0 22 445 332 phase 0; +#X obj 131 30 inlet; +#X obj 124 286 outlet~; +#X obj 95 160 openpanel; +#X obj 161 150 *; +#X floatatom 171 195 5 0 0 0 - - -; +#X obj 162 173 clip 0 1; +#X obj 259 170 * 2400; +#X msg 65 102 symbol /Users/hans/code/pure-data/trunk/pd/doc/sound/voice.wav +; +#X obj 67 75 loadbang; +#X obj 96 137 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 +-1; +#X floatatom 200 241 0 0 0 1 sample_length - -; +#X obj 125 220 phase.vocoder; +#X obj 330 32 inlet; +#X text 369 31 pitch; +#X text 170 28 position; +#X connect 0 0 3 0; +#X connect 2 0 11 0; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 5 0 11 1; +#X connect 6 0 11 2; +#X connect 7 0 11 0; +#X connect 8 0 7 0; +#X connect 9 0 2 0; +#X connect 11 0 1 0; +#X connect 11 1 3 1; +#X connect 11 1 5 2; +#X connect 11 1 10 0; +#X connect 12 0 6 0; +#X restore 419 552 pd phase vocoder; +#X obj 427 189 route button_1; +#N canvas 61 273 456 418 see 0; +#X obj 21 25 inlet; +#X text 66 27 x; +#X obj 186 27 inlet; +#X text 223 27 y; +#X obj 339 25 inlet; +#X text 380 25 z; +#X obj 61 126 grid grid1 200 0 199 200 0 199 0 1 1 10 10 160.5 225.5 +; +#N canvas 0 22 450 300 set 0; +#X obj 31 30 inlet; +#X obj 185 31 inlet; +#X obj 55 258 outlet; +#X obj 55 201 pack float float; +#X msg 55 229 goto \$1 \$2; +#X obj 75 165 trigger bang float; +#X obj 184 66 + 0.7144; +#X obj 184 93 / 1.4288; +#X obj 184 119 * 199; +#X obj 34 66 + 0.7144; +#X obj 34 93 / 1.4288; +#X obj 34 119 * 199; +#X connect 0 0 9 0; +#X connect 1 0 6 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 3 0; +#X connect 5 1 3 1; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 3 0; +#X restore 61 103 pd set position; +#X text 164 103 top view (x \, z); +#X obj 270 126 vsl 25 200 0 1 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X connect 0 0 7 0; +#X connect 2 0 9 0; +#X connect 4 0 7 1; +#X connect 7 0 6 0; +#X restore 202 433 pd see position; +#X text 34 35 1 autoscale; +#X text 34 55 2 reverse; +#X text 34 75 3 polar; +#X floatatom 43 264 6 0 0 0 - - -; +#X floatatom 89 264 6 0 0 0 - - -; +#X text 34 95 4 circular curve; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 14 0; +#X connect 4 1 7 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 8 0 4 0; +#X connect 9 0 4 0; +#X connect 11 0 13 0; +#X connect 11 1 44 0; +#X connect 13 0 49 0; +#X connect 13 1 50 0; +#X connect 13 2 15 0; +#X connect 13 3 24 0; +#X connect 13 4 25 0; +#X connect 13 5 19 0; +#X connect 14 0 11 0; +#X connect 15 0 16 0; +#X connect 16 0 18 0; +#X connect 16 0 21 0; +#X connect 19 0 20 0; +#X connect 21 0 41 0; +#X connect 21 0 45 0; +#X connect 21 1 31 0; +#X connect 21 1 45 1; +#X connect 21 2 40 0; +#X connect 21 2 45 2; +#X connect 22 0 21 0; +#X connect 22 1 21 1; +#X connect 23 0 21 0; +#X connect 23 1 21 2; +#X connect 24 0 28 0; +#X connect 25 0 29 0; +#X connect 28 0 22 0; +#X connect 29 0 23 0; +#X connect 31 0 42 0; +#X connect 31 0 43 1; +#X connect 32 0 33 0; +#X connect 32 0 31 3; +#X connect 33 0 31 3; +#X connect 35 0 34 1; +#X connect 35 0 34 0; +#X connect 36 0 35 1; +#X connect 37 0 34 1; +#X connect 37 0 34 0; +#X connect 38 0 37 1; +#X connect 39 1 43 0; +#X connect 40 0 39 1; +#X connect 41 0 39 0; +#X connect 42 0 35 0; +#X connect 43 0 37 0; +#X connect 44 0 12 0; +#X connect 44 0 32 0; diff --git a/examples/spiral-joystick.pd b/examples/spiral-joystick.pd index c222225..f9cf821 100644 --- a/examples/spiral-joystick.pd +++ b/examples/spiral-joystick.pd @@ -1,55 +1,52 @@ -#N canvas 249 22 633 598 10; +#N canvas 79 22 607 574 10; #X declare -lib mapping; -#X obj 482 32 import mapping; -#X obj 100 100 tgl 25 0 empty empty start 1 12 1 9 -225271 -1 -1 0 -1; -#X obj 184 486 osc~; -#X obj 97 517 *~; -#X obj 127 561 dac~; -#X obj 17 486 line~; -#X msg 17 464 \$1 5; -#X text 22 32 This patch uses the angle of the joystick to control +#X obj 482 12 import mapping; +#X obj 100 81 tgl 18 0 empty empty start 1 12 2 9 -225271 -1 -1 0 1 +; +#X obj 184 466 osc~; +#X obj 97 497 *~; +#X obj 127 541 dac~; +#X obj 17 466 line~; +#X msg 17 444 \$1 5; +#X text 22 12 This patch uses the angle of the joystick to control pitch and the distance from the centerpoint to control amplitude. The joystick Z/twist is mapped to pan.; -#X obj 97 538 pan/equal_power_pan~; -#X text 11 9 spiral_joystick; -#X obj 29 103 pddp/dsp; -#X obj 123 161 hidio; -#X obj 192 297 route x y rz z; -#X text 289 297 some joysticks call twist 'z' \, others 'rz'; -#X obj 23 214 route absolute; -#X obj 23 297 route x y rz z; -#X obj 192 213 route absolute; -#X obj 192 192 route range; -#X obj 63 342 /; -#X obj 192 233 unpack symbol float float; -#X obj 192 254 pack symbol float; -#X obj 192 275 list trim; -#X obj 23 233 unpack symbol float float; -#X obj 23 254 pack symbol float; -#X obj 23 275 list trim; -#X obj 93 342 /; -#X obj 133 342 /; -#X obj 173 342 /; -#X text 313 253 we don't need the instance number \, so ignore it; -#X text 209 343 scale things to max 1 using the values querying using -[info(; -#X obj 217 520 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144 +#X obj 97 518 pan/equal_power_pan~; +#X obj 19 81 pddp/dsp; +#X obj 123 141 hidio; +#X obj 192 277 route x y rz z; +#X text 289 277 some joysticks call twist 'z' \, others 'rz'; +#X obj 23 194 route absolute; +#X obj 23 277 route x y rz z; +#X obj 192 193 route absolute; +#X obj 192 172 route range; +#X obj 63 322 /; +#X obj 192 213 unpack symbol float float; +#X obj 192 234 pack symbol float; +#X obj 192 255 list trim; +#X obj 23 213 unpack symbol float float; +#X obj 23 234 pack symbol float; +#X obj 23 255 list trim; +#X obj 93 322 /; +#X obj 133 322 /; +#X obj 173 322 /; +#X text 309 234 we don't need the instance number \, so ignore it; +#X obj 217 500 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 6350 0; -#X msg 143 101 open joystick; -#X text 153 79 1; -#X text 102 79 2; -#X text 34 79 3; -#X text 247 88 <-- click these in the order specified; -#X obj 184 465 mtof; -#X obj 184 443 notescale 60 72; -#X obj 17 443 exponential_sigmoid 0.3; -#X obj 93 363 reverse; -#X obj 63 410 spiral; -#X text 153 386 <-- reset position in spiral to middle C octave; -#X text 219 462 set middle C as start note \, with one octave per revolution +#X msg 143 81 open joystick; +#X text 153 59 1; +#X text 102 59 2; +#X text 34 59 3; +#X text 247 68 <-- click these in the order specified; +#X obj 184 445 mtof; +#X obj 184 423 notescale 60 72; +#X obj 17 423 exponential_sigmoid 0.3; +#X obj 93 343 reverse; +#X obj 63 390 spiral; +#X text 153 366 <-- reset position in spiral to middle C octave; +#X text 219 442 set middle C as start note \, with one octave per revolution ; -#X msg 124 386 bang; +#X msg 124 366 bang; #N canvas 0 22 450 300 get 0; #X obj 60 9 inlet; #X obj 60 261 outlet; @@ -64,45 +61,47 @@ joystick Z/twist is mapped to pan.; #X connect 5 0 2 0; #X connect 6 0 5 0; #X connect 6 1 5 1; -#X restore 176 136 pd get range info; -#X connect 1 0 11 0; +#X restore 176 116 pd get range info; +#X text 209 323 scale things to max 1 using the range values queryied +; +#X connect 1 0 10 0; #X connect 2 0 3 1; #X connect 3 0 8 0; #X connect 5 0 3 0; #X connect 6 0 5 0; #X connect 8 0 4 0; #X connect 8 1 4 1; -#X connect 11 0 14 0; -#X connect 11 1 17 0; -#X connect 11 1 44 0; -#X connect 12 0 18 1; -#X connect 12 1 25 1; -#X connect 12 2 26 1; -#X connect 12 3 27 0; -#X connect 14 0 22 0; +#X connect 10 0 13 0; +#X connect 10 1 16 0; +#X connect 10 1 42 0; +#X connect 11 0 17 1; +#X connect 11 1 24 1; +#X connect 11 2 25 1; +#X connect 11 3 26 0; +#X connect 13 0 21 0; +#X connect 14 0 17 0; +#X connect 14 1 24 0; +#X connect 14 2 25 0; +#X connect 14 3 26 0; #X connect 15 0 18 0; -#X connect 15 1 25 0; -#X connect 15 2 26 0; -#X connect 15 3 27 0; -#X connect 16 0 19 0; -#X connect 17 0 16 0; -#X connect 18 0 40 0; +#X connect 16 0 15 0; +#X connect 17 0 38 0; +#X connect 18 0 19 0; +#X connect 18 2 19 1; #X connect 19 0 20 0; -#X connect 19 2 20 1; -#X connect 20 0 21 0; -#X connect 21 0 12 0; +#X connect 20 0 11 0; +#X connect 21 0 22 0; +#X connect 21 2 22 1; #X connect 22 0 23 0; -#X connect 22 2 23 1; -#X connect 23 0 24 0; -#X connect 24 0 15 0; -#X connect 25 0 39 0; -#X connect 30 0 8 1; -#X connect 31 0 11 0; -#X connect 36 0 2 0; -#X connect 37 0 36 0; -#X connect 38 0 6 0; -#X connect 39 0 40 1; -#X connect 40 0 38 0; -#X connect 40 1 37 0; -#X connect 43 0 40 2; -#X connect 44 0 11 0; +#X connect 23 0 14 0; +#X connect 24 0 37 0; +#X connect 28 0 8 1; +#X connect 29 0 10 0; +#X connect 34 0 2 0; +#X connect 35 0 34 0; +#X connect 36 0 6 0; +#X connect 37 0 38 1; +#X connect 38 0 36 0; +#X connect 38 1 35 0; +#X connect 41 0 38 2; +#X connect 42 0 10 0; -- cgit v1.2.1