@@ -1,113 +1,113 @@ | |||
#N canvas 860 318 890 742 12; | |||
#X obj 117 30 adc~ 1 2 3 4 5 6, f 47; | |||
#X obj 118 261 dac~ 1 2 3 4 5 6, f 47; | |||
#X obj 117 98 *~ 1; | |||
#X obj 182 98 *~ 1; | |||
#X obj 246 98 *~ 1; | |||
#X obj 312 98 *~ 1; | |||
#X obj 376 98 *~ 1; | |||
#X obj 442 98 *~ 1; | |||
#X obj 21 422 print toVCV; | |||
#X obj 143 30 adc~ 1 2 3 4 5 6, f 47; | |||
#X obj 144 261 dac~ 1 2 3 4 5 6, f 47; | |||
#X obj 143 98 *~ 1; | |||
#X obj 208 98 *~ 1; | |||
#X obj 272 98 *~ 1; | |||
#X obj 338 98 *~ 1; | |||
#X obj 402 98 *~ 1; | |||
#X obj 468 98 *~ 1; | |||
#X msg 171 365 L3 \$1 0 0; | |||
#X msg 247 365 L4 \$1 0 0; | |||
#X msg 397 365 L6 \$1 0 0; | |||
#X msg 21 365 L1 \$1 0 0; | |||
#X msg 96 365 L2 \$1 0 0; | |||
#X msg 322 365 L5 \$1 0 0; | |||
#X obj 118 229 *~ 1; | |||
#X obj 183 228 *~ 1; | |||
#X obj 247 228 *~ 1; | |||
#X obj 313 228 *~ 1; | |||
#X obj 377 228 *~ 1; | |||
#X obj 443 228 *~ 1; | |||
#X obj 144 229 *~ 1; | |||
#X obj 209 228 *~ 1; | |||
#X obj 273 228 *~ 1; | |||
#X obj 339 228 *~ 1; | |||
#X obj 403 228 *~ 1; | |||
#X obj 469 228 *~ 1; | |||
#X msg 21 521 S1 \$1 0 0; | |||
#X msg 96 522 S2 \$1 0 0; | |||
#X msg 171 522 S3 \$1 0 0; | |||
#X msg 247 523 S4 \$1 0 0; | |||
#X msg 322 523 S5 \$1 0 0; | |||
#X msg 397 523 S6 \$1 0 0; | |||
#X obj 20 30 r fromVCV; | |||
#X obj 142 70 route K1 K2 K3 K4 K5 K6, f 56; | |||
#X obj 143 169 route S1 S2 S3 S4 S5 S6, f 56; | |||
#X obj 143 198 == 0; | |||
#X obj 208 198 == 0; | |||
#X obj 272 198 == 0; | |||
#X obj 338 198 == 0; | |||
#X obj 402 198 == 0; | |||
#X obj 468 198 == 0; | |||
#X obj 21 307 r fromVCV; | |||
#X obj 168 70 route K1 K2 K3 K4 K5 K6, f 56; | |||
#X obj 169 169 route S1 S2 S3 S4 S5 S6, f 56; | |||
#X obj 169 198 == 0; | |||
#X obj 234 198 == 0; | |||
#X obj 298 198 == 0; | |||
#X obj 364 198 == 0; | |||
#X obj 428 198 == 0; | |||
#X obj 494 198 == 0; | |||
#X obj 21 336 route K1 K2 K3 K4 K5 K6, f 65; | |||
#X obj 21 492 route S1 S2 S3 S4 S5 S6, f 65; | |||
#X obj 21 463 r fromVCV; | |||
#X obj 19 134 r fromVCV; | |||
#X obj 21 569 print toVCV; | |||
#X text 558 52 Usually we'd interpolate here with line~ but VCVRack | |||
#X text 598 52 Usually we'd interpolate here with line~ but VCVRack | |||
is already sending one message persample so there seems hardly a point | |||
to complicate this example., f 38; | |||
#X text 560 368 Just using the red channels in the RGB triplet for | |||
#X text 600 368 Just using the red channels in the RGB triplet for | |||
the LED., f 35; | |||
#X text 561 492 Same for the switch., f 35; | |||
#X text 601 492 Same for the switch., f 35; | |||
#X obj 20 30 r fromPrototype; | |||
#X obj 19 134 r fromPrototype; | |||
#X obj 20 307 r fromPrototype; | |||
#X obj 21 463 r fromPrototype; | |||
#X obj 21 569 print toPrototype; | |||
#X obj 21 422 print toPrototype; | |||
#X connect 0 0 2 0; | |||
#X connect 0 1 3 0; | |||
#X connect 0 2 4 0; | |||
#X connect 0 3 5 0; | |||
#X connect 0 4 6 0; | |||
#X connect 0 5 7 0; | |||
#X connect 2 0 15 0; | |||
#X connect 3 0 16 0; | |||
#X connect 4 0 17 0; | |||
#X connect 5 0 18 0; | |||
#X connect 6 0 19 0; | |||
#X connect 7 0 20 0; | |||
#X connect 9 0 8 0; | |||
#X connect 10 0 8 0; | |||
#X connect 11 0 8 0; | |||
#X connect 12 0 8 0; | |||
#X connect 13 0 8 0; | |||
#X connect 14 0 8 0; | |||
#X connect 15 0 1 0; | |||
#X connect 16 0 1 1; | |||
#X connect 17 0 1 2; | |||
#X connect 18 0 1 3; | |||
#X connect 19 0 1 4; | |||
#X connect 20 0 1 5; | |||
#X connect 21 0 41 0; | |||
#X connect 22 0 41 0; | |||
#X connect 23 0 41 0; | |||
#X connect 24 0 41 0; | |||
#X connect 25 0 41 0; | |||
#X connect 26 0 41 0; | |||
#X connect 2 0 14 0; | |||
#X connect 3 0 15 0; | |||
#X connect 4 0 16 0; | |||
#X connect 5 0 17 0; | |||
#X connect 6 0 18 0; | |||
#X connect 7 0 19 0; | |||
#X connect 8 0 44 0; | |||
#X connect 9 0 44 0; | |||
#X connect 10 0 44 0; | |||
#X connect 11 0 44 0; | |||
#X connect 12 0 44 0; | |||
#X connect 13 0 44 0; | |||
#X connect 14 0 1 0; | |||
#X connect 15 0 1 1; | |||
#X connect 16 0 1 2; | |||
#X connect 17 0 1 3; | |||
#X connect 18 0 1 4; | |||
#X connect 19 0 1 5; | |||
#X connect 20 0 43 0; | |||
#X connect 21 0 43 0; | |||
#X connect 22 0 43 0; | |||
#X connect 23 0 43 0; | |||
#X connect 24 0 43 0; | |||
#X connect 25 0 43 0; | |||
#X connect 26 0 2 1; | |||
#X connect 26 1 3 1; | |||
#X connect 26 2 4 1; | |||
#X connect 26 3 5 1; | |||
#X connect 26 4 6 1; | |||
#X connect 26 5 7 1; | |||
#X connect 27 0 28 0; | |||
#X connect 28 0 2 1; | |||
#X connect 28 1 3 1; | |||
#X connect 28 2 4 1; | |||
#X connect 28 3 5 1; | |||
#X connect 28 4 6 1; | |||
#X connect 28 5 7 1; | |||
#X connect 29 0 30 0; | |||
#X connect 29 1 31 0; | |||
#X connect 29 2 32 0; | |||
#X connect 29 3 33 0; | |||
#X connect 29 4 34 0; | |||
#X connect 29 5 35 0; | |||
#X connect 30 0 15 1; | |||
#X connect 31 0 16 1; | |||
#X connect 32 0 17 1; | |||
#X connect 33 0 18 1; | |||
#X connect 34 0 19 1; | |||
#X connect 35 0 20 1; | |||
#X connect 36 0 37 0; | |||
#X connect 37 0 12 0; | |||
#X connect 37 1 13 0; | |||
#X connect 37 2 9 0; | |||
#X connect 37 3 10 0; | |||
#X connect 37 4 14 0; | |||
#X connect 37 5 11 0; | |||
#X connect 38 0 21 0; | |||
#X connect 38 1 22 0; | |||
#X connect 38 2 23 0; | |||
#X connect 38 3 24 0; | |||
#X connect 38 4 25 0; | |||
#X connect 38 5 26 0; | |||
#X connect 39 0 38 0; | |||
#X connect 40 0 29 0; | |||
#X connect 27 1 29 0; | |||
#X connect 27 2 30 0; | |||
#X connect 27 3 31 0; | |||
#X connect 27 4 32 0; | |||
#X connect 27 5 33 0; | |||
#X connect 28 0 14 1; | |||
#X connect 29 0 15 1; | |||
#X connect 30 0 16 1; | |||
#X connect 31 0 17 1; | |||
#X connect 32 0 18 1; | |||
#X connect 33 0 19 1; | |||
#X connect 34 0 11 0; | |||
#X connect 34 1 12 0; | |||
#X connect 34 2 8 0; | |||
#X connect 34 3 9 0; | |||
#X connect 34 4 13 0; | |||
#X connect 34 5 10 0; | |||
#X connect 35 0 20 0; | |||
#X connect 35 1 21 0; | |||
#X connect 35 2 22 0; | |||
#X connect 35 3 23 0; | |||
#X connect 35 4 24 0; | |||
#X connect 35 5 25 0; | |||
#X connect 39 0 26 0; | |||
#X connect 40 0 27 0; | |||
#X connect 41 0 34 0; | |||
#X connect 42 0 35 0; |
@@ -149,7 +149,6 @@ | |||
#X connect 37 0 29 1; | |||
#X connect 37 1 12 1; | |||
#X restore 29 343 pd hsv2rgb; | |||
#X obj 29 478 print toVCV; | |||
#X msg 29 400 S1 \$1 \$2 \$3; | |||
#X obj 30 16 loadbang; | |||
#X msg 30 41 1; | |||
@@ -982,33 +981,36 @@ directory tidy it here is duplicated code., f 28; | |||
#X obj 413 588 *~ 5; | |||
#X obj 508 588 *~ 5; | |||
#X obj 251 17 loadbang; | |||
#X obj 251 66 print toVCV; | |||
#X msg 251 41 display Hello world!; | |||
#X connect 0 0 26 0; | |||
#X connect 2 0 1 0; | |||
#X connect 3 0 4 0; | |||
#X connect 4 0 6 0; | |||
#X connect 5 0 0 0; | |||
#X connect 6 0 18 0; | |||
#X connect 7 0 52 0; | |||
#X obj 251 66 print toPrototype; | |||
#X obj 29 478 print toPrototype; | |||
#X connect 0 0 25 0; | |||
#X connect 1 0 88 0; | |||
#X connect 2 0 3 0; | |||
#X connect 3 0 5 0; | |||
#X connect 4 0 0 0; | |||
#X connect 5 0 17 0; | |||
#X connect 6 0 51 0; | |||
#X connect 7 0 26 0; | |||
#X connect 8 0 27 0; | |||
#X connect 9 0 28 0; | |||
#X connect 10 0 29 0; | |||
#X connect 11 0 30 0; | |||
#X connect 12 0 31 0; | |||
#X connect 13 0 1 0; | |||
#X connect 14 0 1 0; | |||
#X connect 15 0 1 0; | |||
#X connect 16 0 1 0; | |||
#X connect 17 0 1 0; | |||
#X connect 18 0 79 0; | |||
#X connect 19 0 1 0; | |||
#X connect 20 0 1 0; | |||
#X connect 21 0 1 0; | |||
#X connect 22 0 1 0; | |||
#X connect 23 0 1 0; | |||
#X connect 24 0 1 0; | |||
#X connect 26 0 2 0; | |||
#X connect 12 0 88 0; | |||
#X connect 13 0 88 0; | |||
#X connect 14 0 88 0; | |||
#X connect 15 0 88 0; | |||
#X connect 16 0 88 0; | |||
#X connect 17 0 78 0; | |||
#X connect 18 0 88 0; | |||
#X connect 19 0 88 0; | |||
#X connect 20 0 88 0; | |||
#X connect 21 0 88 0; | |||
#X connect 22 0 88 0; | |||
#X connect 23 0 88 0; | |||
#X connect 25 0 1 0; | |||
#X connect 25 1 18 0; | |||
#X connect 26 0 12 0; | |||
#X connect 26 1 19 0; | |||
#X connect 27 0 13 0; | |||
#X connect 27 1 20 0; | |||
@@ -1018,65 +1020,63 @@ directory tidy it here is duplicated code., f 28; | |||
#X connect 29 1 22 0; | |||
#X connect 30 0 16 0; | |||
#X connect 30 1 23 0; | |||
#X connect 31 0 17 0; | |||
#X connect 31 1 24 0; | |||
#X connect 32 0 8 0; | |||
#X connect 33 0 34 0; | |||
#X connect 34 0 36 0; | |||
#X connect 35 0 5 0; | |||
#X connect 35 0 54 0; | |||
#X connect 36 0 32 0; | |||
#X connect 36 0 61 0; | |||
#X connect 31 0 7 0; | |||
#X connect 32 0 33 0; | |||
#X connect 33 0 35 0; | |||
#X connect 34 0 4 0; | |||
#X connect 34 0 53 0; | |||
#X connect 35 0 31 0; | |||
#X connect 35 0 60 0; | |||
#X connect 36 0 37 0; | |||
#X connect 37 0 38 0; | |||
#X connect 38 0 39 0; | |||
#X connect 38 0 62 0; | |||
#X connect 39 0 9 0; | |||
#X connect 37 0 61 0; | |||
#X connect 38 0 8 0; | |||
#X connect 39 0 40 0; | |||
#X connect 40 0 41 0; | |||
#X connect 41 0 42 0; | |||
#X connect 41 0 63 0; | |||
#X connect 42 0 10 0; | |||
#X connect 40 0 62 0; | |||
#X connect 41 0 9 0; | |||
#X connect 42 0 43 0; | |||
#X connect 43 0 44 0; | |||
#X connect 44 0 45 0; | |||
#X connect 44 0 64 0; | |||
#X connect 45 0 11 0; | |||
#X connect 43 0 63 0; | |||
#X connect 44 0 10 0; | |||
#X connect 45 0 46 0; | |||
#X connect 46 0 47 0; | |||
#X connect 47 0 48 0; | |||
#X connect 47 0 65 0; | |||
#X connect 48 0 12 0; | |||
#X connect 49 0 37 0; | |||
#X connect 50 0 43 0; | |||
#X connect 51 0 46 0; | |||
#X connect 52 0 35 0; | |||
#X connect 52 1 33 0; | |||
#X connect 52 2 49 0; | |||
#X connect 52 3 53 0; | |||
#X connect 52 4 50 0; | |||
#X connect 52 5 51 0; | |||
#X connect 53 0 40 0; | |||
#X connect 55 0 72 0; | |||
#X connect 56 0 66 0; | |||
#X connect 57 0 68 0; | |||
#X connect 58 0 67 0; | |||
#X connect 46 0 64 0; | |||
#X connect 47 0 11 0; | |||
#X connect 48 0 36 0; | |||
#X connect 49 0 42 0; | |||
#X connect 50 0 45 0; | |||
#X connect 51 0 34 0; | |||
#X connect 51 1 32 0; | |||
#X connect 51 2 48 0; | |||
#X connect 51 3 52 0; | |||
#X connect 51 4 49 0; | |||
#X connect 51 5 50 0; | |||
#X connect 52 0 39 0; | |||
#X connect 54 0 71 0; | |||
#X connect 55 0 65 0; | |||
#X connect 56 0 67 0; | |||
#X connect 57 0 66 0; | |||
#X connect 58 0 68 0; | |||
#X connect 59 0 69 0; | |||
#X connect 60 0 70 0; | |||
#X connect 65 0 72 0; | |||
#X connect 66 0 73 0; | |||
#X connect 67 0 74 0; | |||
#X connect 68 0 75 0; | |||
#X connect 69 0 76 0; | |||
#X connect 70 0 77 0; | |||
#X connect 71 0 80 0; | |||
#X connect 72 0 71 0; | |||
#X connect 70 0 79 0; | |||
#X connect 71 0 70 0; | |||
#X connect 72 0 80 0; | |||
#X connect 73 0 81 0; | |||
#X connect 74 0 82 0; | |||
#X connect 75 0 83 0; | |||
#X connect 76 0 84 0; | |||
#X connect 77 0 85 0; | |||
#X connect 79 0 7 0; | |||
#X connect 80 0 25 0; | |||
#X connect 81 0 25 1; | |||
#X connect 82 0 25 2; | |||
#X connect 83 0 25 3; | |||
#X connect 84 0 25 4; | |||
#X connect 85 0 25 5; | |||
#X connect 86 0 88 0; | |||
#X connect 88 0 87 0; | |||
#X connect 78 0 6 0; | |||
#X connect 79 0 24 0; | |||
#X connect 80 0 24 1; | |||
#X connect 81 0 24 2; | |||
#X connect 82 0 24 3; | |||
#X connect 83 0 24 4; | |||
#X connect 84 0 24 5; | |||
#X connect 85 0 86 0; | |||
#X connect 86 0 87 0; |
@@ -1,10 +1,6 @@ | |||
#N canvas 698 144 821 731 12; | |||
#X obj 32 367 print toVCV; | |||
#N canvas 2149 174 821 731 12; | |||
#X obj 32 448 dac~ 1 2 3 4 5 6; | |||
#X obj 32 401 adc~ 1 2 3 4 5 6; | |||
#X text 158 401 audio from VCVRack; | |||
#X text 158 448 audio to VCVRack; | |||
#X obj 36 25 r fromVCV; | |||
#X obj 36 62 route K1 K2 K3 K4 K5 K6; | |||
#X obj 194 106 route S1 S2 S3 S4 S5 S6; | |||
#X text 214 60 knobs; | |||
@@ -21,24 +17,28 @@ | |||
#X obj 211 240 t b f; | |||
#X obj 253 241 t b f; | |||
#X obj 201 161 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -258113 | |||
-1 -1 0 1; | |||
-1 -1 2450 1; | |||
#X obj 216 161 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -4034 | |||
-1 -1 0 1; | |||
#X obj 231 161 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -4160 | |||
-1 -1 0 1; | |||
#X connect 5 0 6 0; | |||
#X connect 6 6 7 0; | |||
#X connect 10 0 0 0; | |||
#X connect 11 0 0 0; | |||
-1 -1 4410 1; | |||
#X obj 32 367 print toPrototype; | |||
#X obj 36 25 r fromPrototype; | |||
#X text 158 401 audio from VCV Prototype; | |||
#X text 158 448 audio to VCV Prototype; | |||
#X connect 2 6 3 0; | |||
#X connect 6 0 18 0; | |||
#X connect 7 0 18 0; | |||
#X connect 8 0 7 0; | |||
#X connect 9 0 18 0; | |||
#X connect 10 0 9 0; | |||
#X connect 11 0 18 0; | |||
#X connect 12 0 11 0; | |||
#X connect 13 0 0 0; | |||
#X connect 14 0 13 0; | |||
#X connect 15 0 0 0; | |||
#X connect 16 0 15 0; | |||
#X connect 17 0 16 0; | |||
#X connect 17 1 16 1; | |||
#X connect 18 0 16 0; | |||
#X connect 18 1 16 2; | |||
#X connect 19 0 16 0; | |||
#X connect 20 0 17 0; | |||
#X connect 21 0 18 0; | |||
#X connect 13 0 12 0; | |||
#X connect 13 1 12 1; | |||
#X connect 14 0 12 0; | |||
#X connect 14 1 12 2; | |||
#X connect 15 0 12 0; | |||
#X connect 16 0 13 0; | |||
#X connect 17 0 14 0; | |||
#X connect 19 0 2 0; |
@@ -1,8 +1,6 @@ | |||
#N canvas 1290 443 439 466 12; | |||
#X obj 69 7 r fromVCV; | |||
#N canvas 715 324 439 466 12; | |||
#X obj 69 32 route K1; | |||
#X obj 16 321 osc~; | |||
#X obj 101 370 print toVCV; | |||
#X msg 101 346 display Freq: \$1 Hz; | |||
#X obj 115 112 adc~ 1; | |||
#X obj 69 111 sig~; | |||
@@ -22,23 +20,25 @@ | |||
#X obj 16 370 dac~ 1; | |||
#X text 145 162 <--- FM with CV signal from IN1; | |||
#X obj 15 346 *~ 5; | |||
#X connect 0 0 1 0; | |||
#X connect 1 0 14 0; | |||
#X obj 69 8 r fromPrototype; | |||
#X obj 101 370 print toPrototype; | |||
#X connect 0 0 12 0; | |||
#X connect 1 0 19 0; | |||
#X connect 2 0 21 0; | |||
#X connect 4 0 3 0; | |||
#X connect 5 0 13 1; | |||
#X connect 6 0 13 0; | |||
#X connect 3 0 11 1; | |||
#X connect 4 0 11 0; | |||
#X connect 5 0 6 0; | |||
#X connect 6 0 7 0; | |||
#X connect 7 0 8 0; | |||
#X connect 8 0 9 0; | |||
#X connect 9 0 10 0; | |||
#X connect 10 0 11 0; | |||
#X connect 11 0 12 0; | |||
#X connect 12 0 4 0; | |||
#X connect 13 0 17 1; | |||
#X connect 14 0 15 0; | |||
#X connect 15 0 6 0; | |||
#X connect 16 0 2 0; | |||
#X connect 16 0 11 0; | |||
#X connect 17 0 16 0; | |||
#X connect 18 0 17 0; | |||
#X connect 21 0 19 0; | |||
#X connect 10 0 2 0; | |||
#X connect 11 0 15 1; | |||
#X connect 12 0 13 0; | |||
#X connect 13 0 4 0; | |||
#X connect 14 0 1 0; | |||
#X connect 14 0 9 0; | |||
#X connect 15 0 14 0; | |||
#X connect 16 0 15 0; | |||
#X connect 19 0 17 0; | |||
#X connect 20 0 0 0; |
@@ -163,7 +163,7 @@ void LibPDEngine::receiveLights(const char* s) { | |||
std::string str = std::string(s); | |||
std::vector<std::string> atoms = split(str, ' '); | |||
if (atoms[0] == "toVCV:") { | |||
if (atoms[0] == "toPrototype:") { | |||
// parse lights list | |||
bool light_is_valid = true; | |||
int light_idx = -1; | |||
@@ -277,14 +277,14 @@ void LibPDEngine::sendKnob(const int idx, const float value) { | |||
std::string knob = "K" + std::to_string(idx + 1); | |||
libpd_start_message(1); | |||
libpd_add_float(value); | |||
libpd_finish_message("fromVCV", knob.c_str()); | |||
libpd_finish_message("fromPrototype", knob.c_str()); | |||
} | |||
void LibPDEngine::sendSwitch(const int idx, const bool value) { | |||
std::string sw = "S" + std::to_string(idx + 1); | |||
libpd_start_message(1); | |||
libpd_add_float(value); | |||
libpd_finish_message("fromVCV", sw.c_str()); | |||
libpd_finish_message("fromPrototype", sw.c_str()); | |||
} | |||
void LibPDEngine::sendInitialStates(const ProcessBlock* block) { | |||