diff --git a/crickets/src/main.cpp b/crickets/src/main.cpp index 56c7b22..12c303c 100755 --- a/crickets/src/main.cpp +++ b/crickets/src/main.cpp @@ -42,7 +42,8 @@ //==================== //======================== -#define CRICKET_KEY CRICKET_A_KEY +#include "crickets.h" +#define CRICKET_KEY CRICKET_A_KEY // A-E-I-O-U-W-Y-N (up to 7 crickets) //======================= //======================== @@ -157,31 +158,19 @@ Task nothappyalone_task(100, TASK_FOREVER, ¬happyalone); // by default, ENABL static Servo myservo; // my tasks -extern Task fastturn_task; -extern Task slowturn_task; +extern Task set_speed_task; extern Task rest_task; int speed = 0; -void fastturn() { +void set_speed() { int r = speed; analogWrite(12,r); - Serial.print("fast:"); + Serial.print("set_speed:"); Serial.println(r); - //slowturn_task.restartDelayed(5000); } -Task fastturn_task(0, TASK_ONCE, &fastturn); - -void slowturn() { - int r = random(200, 400); - Serial.print("slow:"); - Serial.println(r); - analogWrite(12,r); - rest_task.restartDelayed(10); -} -Task slowturn_task(0, TASK_ONCE, &slowturn); +Task set_speed_task(0, TASK_ONCE, &set_speed); void rest() { analogWrite(12,0); - // fastturn_task.restartDelayed(100); } Task rest_task(0, TASK_ONCE, &rest); @@ -214,12 +203,12 @@ void receivedCallback(uint32_t from, String & msg) { // REQUIRED int velocity = str_velocity.toInt(); // 0 ~ 127 int gate = str_gate.toInt(); - speed = velocity * 4; + speed = velocity * 4; // 0 ~ 508 - //is it for me, the gastank? + //is it for me? if (key == CRICKET_KEY) { if (gate == 1) { - fastturn_task.restartDelayed(10); + set_speed_task.restartDelayed(10); } else if (gate == 0) { rest_task.restartDelayed(10); } @@ -337,8 +326,7 @@ void setup() { randomSeed(analogRead(0)); //tasks - runner.addTask(fastturn_task); - runner.addTask(slowturn_task); + runner.addTask(set_speed_task); runner.addTask(rest_task); rest_task.restartDelayed(500); diff --git a/puredata/piano_access_mesh.pd b/puredata/piano_access_mesh.pd index e8c3414..022e958 100644 --- a/puredata/piano_access_mesh.pd +++ b/puredata/piano_access_mesh.pd @@ -1,4 +1,4 @@ -#N canvas 534 35 783 619 10; +#N canvas 89 89 1285 513 10; #X obj 20 126 unpackOSC; #X obj 107 18 loadbang; #X msg 147 91 devices; @@ -14,31 +14,29 @@ #X obj 20 230 s NOTE; #X obj 20 168 routeOSC /pitch /velocity /onoff /oncnt; #X floatatom 193 189 5 0 0 0 - - -; -#X obj 22 475 o.io.slipserial; -#X msg 51 424 devices; -#X msg 128 429 close; -#X obj 433 134 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X msg 109 387 devicename /dev/tty.usbmodem44719701 \, baud 57600 \, -pollintervall 1 \, verbose 1; -#X text 352 290 NOTE! -->; -#X obj 415 282 cnv 15 100 60 empty empty empty 20 12 0 14 -261234 -66577 -0; -#X msg 422 305 /note 60 100 1; -#X text 421 285 well.. if we do like..; -#X text 421 325 w/o bundling.. why not?; -#X obj 386 157 t a b; -#X msg 413 178 [; -#X obj 22 398 packOSC; -#X msg 317 178 ]; -#X obj 317 157 t b a; -#X obj 317 109 r NOTE; -#X obj 317 130 unpack f f f; -#X text 363 108 /pitch /velocity /onoff; -#X msg 351 224 /note/velocity \$1; -#X msg 344 245 /note/pitch \$1; -#X obj 278 214 s OSC; -#X obj 22 373 r OSC; +#X obj 451 140 o.io.slipserial; +#X msg 480 89 devices; +#X msg 557 94 close; +#X obj 1057 228 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 +1 1; +#X text 976 384 NOTE! -->; +#X obj 1039 376 cnv 15 100 60 empty empty empty 20 12 0 14 -261234 +-66577 0; +#X msg 1046 399 /note 60 100 1; +#X text 1045 379 well.. if we do like..; +#X text 1045 419 w/o bundling.. why not?; +#X obj 1010 251 t a b; +#X msg 1037 272 [; +#X obj 451 63 packOSC; +#X msg 941 272 ]; +#X obj 941 251 t b a; +#X obj 941 203 r NOTE; +#X obj 941 224 unpack f f f; +#X text 987 202 /pitch /velocity /onoff; +#X msg 975 318 /note/velocity \$1; +#X msg 968 339 /note/pitch \$1; +#X obj 902 308 s OSC; +#X obj 451 38 r OSC; #X obj 86 245 tgl 125 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #N canvas 0 23 255 233 midi-in 0; @@ -66,57 +64,94 @@ pollintervall 1 \, verbose 1; #X connect 7 0 8 0; #X connect 9 0 6 0; #X restore 156 222 pd midi-in; -#X obj 174 478 print; -#X obj 232 464 r NOTE; -#X msg 386 203 /note/onoff \$1; -#X obj 476 492 s NOTE; -#X obj 476 446 metro 1000; -#X obj 476 424 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 941 135 r NOTE; +#X msg 1010 297 /note/onoff \$1; +#X obj 418 386 metro 1000; +#X obj 418 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X text 475 394 auto play; -#X floatatom 351 178 5 0 0 0 - - -; -#X obj 466 25 loadbang; -#X msg 466 50 127; -#X text 523 73 vol. override; -#X obj 355 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X text 417 334 auto play; +#X floatatom 975 272 5 0 0 0 - - -; +#X obj 1090 119 loadbang; +#X msg 1090 144 127; +#X text 1147 167 vol. override; +#X obj 979 246 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X msg 548 227 0; -#X msg 548 206 10; -#X msg 548 185 25; -#X msg 548 164 50; -#X msg 548 123 255; -#X msg 548 103 500; -#X msg 548 143 127; -#X text 573 103 BIG; -#X text 574 227 SMALL; -#X msg 551 52 180; -#X msg 339 448 100 100 1; -#X msg 341 503 101 100 1; -#X text 350 427 gastank; -#X text 345 478 float; -#X msg 518 374 0; -#X msg 560 396 1000; -#X obj 618 487 s NOTE; -#X obj 618 441 metro 1000; -#X obj 618 419 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X msg 1172 321 0; +#X msg 1172 300 10; +#X msg 1172 279 25; +#X msg 1172 258 50; +#X msg 1172 217 255; +#X msg 1172 197 500; +#X msg 1172 237 127; +#X text 1197 197 BIG; +#X text 1198 321 SMALL; +#X msg 1175 146 180; +#X msg 281 388 100 100 1; +#X msg 283 443 101 100 1; +#X text 292 367 gastank; +#X text 287 418 float; +#X msg 460 314 0; +#X msg 502 336 1000; +#X obj 314 253 metro 1000; +#X obj 314 231 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X floatatom 697 426 5 0 0 0 - - -; -#X text 617 389 auto play; -#X msg 660 369 0; -#X msg 702 391 1000; -#X msg 618 463 101 127 1; -#X msg 476 468 100 127 1; -#X msg 555 367 500; -#X msg 591 365 2000; -#X msg 579 341 300; -#X msg 609 321 3000; +#X floatatom 393 238 5 0 0 0 - - -; +#X text 313 201 auto play; +#X msg 356 181 0; +#X msg 398 203 1000; +#X msg 314 275 101 127 1; +#X msg 418 408 100 127 1; +#X msg 497 307 500; +#X msg 533 305 2000; +#X msg 521 281 300; +#X msg 551 261 3000; +#X msg 538 52 devicename /dev/ttyACM0 \, baud 57600 \, pollintervall +1 \, verbose 1; +#X obj 1107 72 s NOTE; +#X msg 1107 46 68 100 1; +#X obj 941 163 print NOTE; +#X obj 733 252 t a b; +#X msg 760 273 [; +#X msg 664 273 ]; +#X obj 664 252 t b a; +#X obj 664 225 unpack f f f; +#X text 710 203 /pitch /velocity /onoff; +#X msg 698 349 /note/velocity \$1; +#X msg 691 370 /note/pitch \$1; +#X obj 625 309 s OSC; +#X msg 733 298 /note/onoff \$1; +#X floatatom 698 273 5 0 0 0 - - -; +#X obj 664 163 print CTRL; +#X obj 664 135 r CTRL; +#X obj 664 203 r CTRL; +#X obj 418 432 s CTRL; +#X obj 314 299 s CTRL; +#N canvas 569 297 358 255 crickets 1; +#X msg 31 159 120 \$1 \$2; +#X obj 31 130 pack f f; +#X obj 76 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 34 58 hsl 128 15 50 300 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 400 1; +#X floatatom 31 27 5 0 0 0 - - -; +#X obj 31 191 s CTRL; +#X floatatom 31 78 5 0 0 0 - - -; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 1 1; +#X connect 3 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X restore 651 467 pd crickets ctrl; +#X obj 382 106 print OSC; +#X obj 698 295 int; #X connect 0 0 3 0; #X connect 2 0 7 1; #X connect 3 0 12 0; #X connect 4 0 10 0; #X connect 5 0 10 1; #X connect 6 0 10 2; -#X connect 6 0 36 0; +#X connect 6 0 35 0; #X connect 7 0 0 0; #X connect 8 0 7 1; #X connect 9 0 7 1; @@ -127,51 +162,69 @@ pollintervall 1 \, verbose 1; #X connect 12 3 13 0; #X connect 15 0 14 1; #X connect 16 0 14 1; -#X connect 18 0 14 1; -#X connect 24 0 17 0; -#X connect 24 0 40 0; -#X connect 24 1 25 0; -#X connect 25 0 34 0; -#X connect 26 0 14 0; -#X connect 27 0 34 0; -#X connect 28 0 27 0; -#X connect 28 1 33 0; -#X connect 29 0 30 0; -#X connect 30 0 28 0; -#X connect 30 1 49 0; -#X connect 30 2 24 0; -#X connect 32 0 34 0; -#X connect 33 0 34 0; -#X connect 35 0 26 0; -#X connect 37 0 36 0; -#X connect 39 0 38 0; -#X connect 40 0 34 0; -#X connect 42 0 74 0; -#X connect 43 0 42 0; -#X connect 45 0 32 0; -#X connect 46 0 47 0; -#X connect 47 0 45 0; -#X connect 49 0 45 0; -#X connect 50 0 45 0; -#X connect 51 0 45 0; -#X connect 52 0 45 0; -#X connect 53 0 45 0; -#X connect 54 0 45 0; -#X connect 55 0 45 0; -#X connect 56 0 45 0; -#X connect 59 0 45 0; -#X connect 60 0 41 0; -#X connect 61 0 41 0; -#X connect 64 0 42 0; -#X connect 65 0 42 1; -#X connect 67 0 73 0; -#X connect 68 0 67 0; -#X connect 69 0 67 1; -#X connect 71 0 67 0; -#X connect 72 0 67 1; -#X connect 73 0 66 0; -#X connect 74 0 41 0; -#X connect 75 0 42 1; -#X connect 76 0 42 1; -#X connect 77 0 42 1; -#X connect 78 0 42 1; +#X connect 23 0 17 0; +#X connect 23 0 38 0; +#X connect 23 1 24 0; +#X connect 24 0 33 0; +#X connect 25 0 14 0; +#X connect 26 0 33 0; +#X connect 27 0 26 0; +#X connect 27 1 32 0; +#X connect 28 0 29 0; +#X connect 29 0 27 0; +#X connect 29 1 46 0; +#X connect 29 2 23 0; +#X connect 31 0 33 0; +#X connect 32 0 33 0; +#X connect 34 0 25 0; +#X connect 34 0 96 0; +#X connect 36 0 35 0; +#X connect 37 0 78 0; +#X connect 38 0 33 0; +#X connect 39 0 70 0; +#X connect 40 0 39 0; +#X connect 42 0 31 0; +#X connect 43 0 44 0; +#X connect 44 0 42 0; +#X connect 46 0 42 0; +#X connect 47 0 42 0; +#X connect 48 0 42 0; +#X connect 49 0 42 0; +#X connect 50 0 42 0; +#X connect 51 0 42 0; +#X connect 52 0 42 0; +#X connect 53 0 42 0; +#X connect 56 0 42 0; +#X connect 57 0 93 0; +#X connect 58 0 93 0; +#X connect 61 0 39 0; +#X connect 62 0 39 1; +#X connect 63 0 69 0; +#X connect 64 0 63 0; +#X connect 65 0 63 1; +#X connect 67 0 63 0; +#X connect 68 0 63 1; +#X connect 69 0 94 0; +#X connect 70 0 93 0; +#X connect 71 0 39 1; +#X connect 72 0 39 1; +#X connect 73 0 39 1; +#X connect 74 0 39 1; +#X connect 75 0 14 1; +#X connect 77 0 76 0; +#X connect 79 0 88 0; +#X connect 79 1 80 0; +#X connect 80 0 87 0; +#X connect 81 0 87 0; +#X connect 82 0 81 0; +#X connect 82 1 86 0; +#X connect 83 0 82 0; +#X connect 83 1 89 0; +#X connect 83 2 79 0; +#X connect 85 0 87 0; +#X connect 86 0 87 0; +#X connect 88 0 87 0; +#X connect 89 0 97 0; +#X connect 91 0 90 0; +#X connect 92 0 83 0; +#X connect 97 0 85 0;