├── .gitignore ├── Abstractions and Poly ├── SoundEngine.maxpat └── quantize.maxpat ├── Javascript ├── .DS_Store ├── tslooper_OSC.js └── tslooper_midi_control_OSC.js ├── README.md ├── TSLooperMidiControl.amxd ├── TimestretchLooper.amxd └── TimestretchLooper.png /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /Abstractions and Poly/SoundEngine.maxpat: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 8, 6 | "minor" : 0, 7 | "revision" : 0, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "rect" : [ 34.0, 79.0, 851.0, 583.0 ], 13 | "bglocked" : 0, 14 | "openinpresentation" : 0, 15 | "default_fontsize" : 12.0, 16 | "default_fontface" : 0, 17 | "default_fontname" : "Arial", 18 | "gridonopen" : 1, 19 | "gridsize" : [ 15.0, 15.0 ], 20 | "gridsnaponopen" : 1, 21 | "objectsnaponopen" : 1, 22 | "statusbarvisible" : 2, 23 | "toolbarvisible" : 1, 24 | "lefttoolbarpinned" : 0, 25 | "toptoolbarpinned" : 0, 26 | "righttoolbarpinned" : 0, 27 | "bottomtoolbarpinned" : 0, 28 | "toolbars_unpinned_last_save" : 0, 29 | "tallnewobj" : 0, 30 | "boxanimatetime" : 200, 31 | "enablehscroll" : 1, 32 | "enablevscroll" : 1, 33 | "devicewidth" : 0.0, 34 | "description" : "", 35 | "digest" : "", 36 | "tags" : "", 37 | "style" : "", 38 | "subpatcher_template" : "", 39 | "boxes" : [ { 40 | "box" : { 41 | "id" : "obj-22", 42 | "maxclass" : "newobj", 43 | "numinlets" : 0, 44 | "numoutlets" : 1, 45 | "outlettype" : [ "" ], 46 | "patching_rect" : [ 64.25, 134.0, 81.0, 22.0 ], 47 | "presentation_rect" : [ 64.25, 134.0, 81.0, 22.0 ], 48 | "style" : "", 49 | "text" : "r ---ts_quality" 50 | } 51 | 52 | } 53 | , { 54 | "box" : { 55 | "attr" : "mode", 56 | "id" : "obj-21", 57 | "maxclass" : "attrui", 58 | "numinlets" : 1, 59 | "numoutlets" : 1, 60 | "outlettype" : [ "" ], 61 | "patching_rect" : [ 15.0, 247.0, 150.0, 22.0 ], 62 | "presentation_rect" : [ 15.0, 247.0, 150.0, 22.0 ], 63 | "style" : "" 64 | } 65 | 66 | } 67 | , { 68 | "box" : { 69 | "id" : "obj-15", 70 | "maxclass" : "newobj", 71 | "numinlets" : 0, 72 | "numoutlets" : 1, 73 | "outlettype" : [ "" ], 74 | "patching_rect" : [ 15.0, 166.0, 76.0, 22.0 ], 75 | "presentation_rect" : [ 15.0, 166.0, 76.0, 22.0 ], 76 | "style" : "", 77 | "text" : "r ---ts_mode" 78 | } 79 | 80 | } 81 | , { 82 | "box" : { 83 | "id" : "obj-41", 84 | "maxclass" : "button", 85 | "numinlets" : 1, 86 | "numoutlets" : 1, 87 | "outlettype" : [ "bang" ], 88 | "patching_rect" : [ 220.0, 192.0, 24.0, 24.0 ], 89 | "presentation_rect" : [ 220.0, 192.0, 24.0, 24.0 ], 90 | "style" : "" 91 | } 92 | 93 | } 94 | , { 95 | "box" : { 96 | "id" : "obj-39", 97 | "maxclass" : "newobj", 98 | "numinlets" : 2, 99 | "numoutlets" : 2, 100 | "outlettype" : [ "bang", "" ], 101 | "patching_rect" : [ 220.0, 158.0, 60.0, 22.0 ], 102 | "presentation_rect" : [ 220.0, 158.0, 60.0, 22.0 ], 103 | "style" : "", 104 | "text" : "sel 0" 105 | } 106 | 107 | } 108 | , { 109 | "box" : { 110 | "attr" : "formant", 111 | "id" : "obj-13", 112 | "maxclass" : "attrui", 113 | "numinlets" : 1, 114 | "numoutlets" : 1, 115 | "outlettype" : [ "" ], 116 | "patching_rect" : [ 503.5, 242.0, 150.0, 22.0 ], 117 | "presentation_rect" : [ 503.5, 242.0, 150.0, 22.0 ], 118 | "style" : "" 119 | } 120 | 121 | } 122 | , { 123 | "box" : { 124 | "id" : "obj-32", 125 | "maxclass" : "newobj", 126 | "numinlets" : 1, 127 | "numoutlets" : 1, 128 | "outlettype" : [ "signal" ], 129 | "patching_rect" : [ 667.0, 242.0, 33.0, 22.0 ], 130 | "presentation_rect" : [ 667.0, 242.0, 33.0, 22.0 ], 131 | "style" : "", 132 | "text" : "sig~" 133 | } 134 | 135 | } 136 | , { 137 | "box" : { 138 | "fontname" : "Arial Bold", 139 | "fontsize" : 10.0, 140 | "id" : "obj-2", 141 | "maxclass" : "newobj", 142 | "numinlets" : 0, 143 | "numoutlets" : 1, 144 | "outlettype" : [ "" ], 145 | "patching_rect" : [ 504.0, 166.0, 91.0, 20.0 ], 146 | "presentation_rect" : [ 504.0, 166.0, 91.0, 20.0 ], 147 | "style" : "", 148 | "text" : "r ---formant_post" 149 | } 150 | 151 | } 152 | , { 153 | "box" : { 154 | "fontname" : "Arial Bold", 155 | "fontsize" : 10.0, 156 | "format" : 6, 157 | "id" : "obj-33", 158 | "maxclass" : "flonum", 159 | "numinlets" : 1, 160 | "numoutlets" : 2, 161 | "outlettype" : [ "", "bang" ], 162 | "parameter_enable" : 0, 163 | "patching_rect" : [ 504.0, 206.0, 47.0, 20.0 ], 164 | "presentation" : 1, 165 | "presentation_rect" : [ 467.0, 295.077759, 40.0, 20.0 ], 166 | "style" : "" 167 | } 168 | 169 | } 170 | , { 171 | "box" : { 172 | "fontname" : "Arial Bold", 173 | "fontsize" : 10.0, 174 | "id" : "obj-34", 175 | "maxclass" : "comment", 176 | "numinlets" : 1, 177 | "numoutlets" : 0, 178 | "patching_rect" : [ 504.0, 146.0, 60.0, 18.0 ], 179 | "presentation_rect" : [ 504.0, 146.0, 60.0, 18.0 ], 180 | "style" : "", 181 | "text" : "Formant" 182 | } 183 | 184 | } 185 | , { 186 | "box" : { 187 | "fontname" : "Arial Bold", 188 | "fontsize" : 10.0, 189 | "id" : "obj-62", 190 | "maxclass" : "newobj", 191 | "numinlets" : 0, 192 | "numoutlets" : 1, 193 | "outlettype" : [ "" ], 194 | "patching_rect" : [ 370.0, 211.077759, 81.0, 20.0 ], 195 | "presentation_rect" : [ 370.0, 211.077759, 81.0, 20.0 ], 196 | "style" : "", 197 | "text" : "r ---play_buffer" 198 | } 199 | 200 | } 201 | , { 202 | "box" : { 203 | "fontname" : "Arial Bold", 204 | "fontsize" : 10.0, 205 | "id" : "obj-275", 206 | "maxclass" : "newobj", 207 | "numinlets" : 0, 208 | "numoutlets" : 1, 209 | "outlettype" : [ "" ], 210 | "patching_rect" : [ 299.0, 242.0, 60.0, 20.0 ], 211 | "presentation_rect" : [ 299.0, 242.0, 60.0, 20.0 ], 212 | "style" : "", 213 | "text" : "r ---groove" 214 | } 215 | 216 | } 217 | , { 218 | "box" : { 219 | "fontname" : "Arial Bold", 220 | "fontsize" : 10.0, 221 | "id" : "obj-232", 222 | "maxclass" : "newobj", 223 | "numinlets" : 0, 224 | "numoutlets" : 1, 225 | "outlettype" : [ "" ], 226 | "patching_rect" : [ 220.0, 101.0, 86.0, 20.0 ], 227 | "presentation_rect" : [ 220.0, 101.0, 86.0, 20.0 ], 228 | "style" : "", 229 | "text" : "r ---dirac_enable" 230 | } 231 | 232 | } 233 | , { 234 | "box" : { 235 | "id" : "obj-187", 236 | "maxclass" : "toggle", 237 | "numinlets" : 1, 238 | "numoutlets" : 1, 239 | "outlettype" : [ "int" ], 240 | "parameter_enable" : 0, 241 | "patching_rect" : [ 220.0, 125.0, 20.0, 20.0 ], 242 | "presentation_rect" : [ 220.0, 125.0, 20.0, 20.0 ], 243 | "style" : "" 244 | } 245 | 246 | } 247 | , { 248 | "box" : { 249 | "fontname" : "Arial Bold", 250 | "fontsize" : 10.0, 251 | "id" : "obj-35", 252 | "maxclass" : "newobj", 253 | "numinlets" : 0, 254 | "numoutlets" : 1, 255 | "outlettype" : [ "" ], 256 | "patching_rect" : [ 479.0, 21.0, 76.0, 20.0 ], 257 | "presentation_rect" : [ 479.0, 21.0, 76.0, 20.0 ], 258 | "style" : "", 259 | "text" : "r ---pitch_post" 260 | } 261 | 262 | } 263 | , { 264 | "box" : { 265 | "fontname" : "Arial Bold", 266 | "fontsize" : 10.0, 267 | "id" : "obj-36", 268 | "maxclass" : "newobj", 269 | "numinlets" : 0, 270 | "numoutlets" : 1, 271 | "outlettype" : [ "" ], 272 | "patching_rect" : [ 667.0, 143.0, 81.0, 20.0 ], 273 | "presentation_rect" : [ 667.0, 143.0, 81.0, 20.0 ], 274 | "style" : "", 275 | "text" : "r ---speed_post" 276 | } 277 | 278 | } 279 | , { 280 | "box" : { 281 | "fontname" : "Arial Bold", 282 | "fontsize" : 10.0, 283 | "format" : 6, 284 | "id" : "obj-37", 285 | "maxclass" : "flonum", 286 | "numinlets" : 1, 287 | "numoutlets" : 2, 288 | "outlettype" : [ "", "bang" ], 289 | "parameter_enable" : 0, 290 | "patching_rect" : [ 479.0, 61.0, 47.0, 20.0 ], 291 | "presentation" : 1, 292 | "presentation_rect" : [ 434.0, 110.0, 40.0, 20.0 ], 293 | "style" : "" 294 | } 295 | 296 | } 297 | , { 298 | "box" : { 299 | "fontname" : "Arial Bold", 300 | "fontsize" : 10.0, 301 | "id" : "obj-85", 302 | "maxclass" : "comment", 303 | "numinlets" : 1, 304 | "numoutlets" : 0, 305 | "patching_rect" : [ 479.0, 1.0, 44.0, 18.0 ], 306 | "presentation_rect" : [ 479.0, 1.0, 44.0, 18.0 ], 307 | "style" : "", 308 | "text" : "Pitch" 309 | } 310 | 311 | } 312 | , { 313 | "box" : { 314 | "fontname" : "Arial Bold", 315 | "fontsize" : 10.0, 316 | "format" : 6, 317 | "id" : "obj-109", 318 | "maxclass" : "flonum", 319 | "numinlets" : 1, 320 | "numoutlets" : 2, 321 | "outlettype" : [ "", "bang" ], 322 | "parameter_enable" : 0, 323 | "patching_rect" : [ 667.0, 183.0, 40.0, 20.0 ], 324 | "presentation" : 1, 325 | "presentation_rect" : [ 385.0, 110.0, 40.0, 20.0 ], 326 | "style" : "", 327 | "triscale" : 0.9 328 | } 329 | 330 | } 331 | , { 332 | "box" : { 333 | "fontname" : "Arial Bold", 334 | "fontsize" : 10.0, 335 | "id" : "obj-60", 336 | "maxclass" : "comment", 337 | "numinlets" : 1, 338 | "numoutlets" : 0, 339 | "patching_rect" : [ 670.5, 122.999878, 44.0, 18.0 ], 340 | "presentation_rect" : [ 670.5, 122.999878, 44.0, 18.0 ], 341 | "style" : "", 342 | "text" : "Speed" 343 | } 344 | 345 | } 346 | , { 347 | "box" : { 348 | "fontname" : "Arial Bold", 349 | "fontsize" : 10.0, 350 | "id" : "obj-61", 351 | "maxclass" : "message", 352 | "numinlets" : 2, 353 | "numoutlets" : 1, 354 | "outlettype" : [ "" ], 355 | "patching_rect" : [ 370.0, 240.0, 50.0, 20.0 ], 356 | "presentation_rect" : [ 370.0, 240.0, 50.0, 20.0 ], 357 | "style" : "", 358 | "text" : "set $1" 359 | } 360 | 361 | } 362 | , { 363 | "box" : { 364 | "id" : "obj-9", 365 | "maxclass" : "newobj", 366 | "numinlets" : 3, 367 | "numoutlets" : 3, 368 | "outlettype" : [ "signal", "signal", "signal" ], 369 | "patching_rect" : [ 299.0, 309.0, 253.0, 22.0 ], 370 | "presentation_rect" : [ 299.0, 309.0, 253.0, 22.0 ], 371 | "saved_object_attributes" : { 372 | "basictuning" : 440, 373 | "followglobaltempo" : 0, 374 | "formantcorrection" : 0, 375 | "loopend" : [ 0.0, "ms" ], 376 | "loopstart" : [ 0.0, "ms" ], 377 | "mode" : "efficient", 378 | "originallength" : [ 0.0, "ticks" ], 379 | "originaltempo" : 120.0, 380 | "phase" : [ 0.0, "ticks" ], 381 | "pitchcorrection" : 0, 382 | "quality" : "good", 383 | "timestretch" : [ 1 ] 384 | } 385 | , 386 | "style" : "", 387 | "text" : "groove~ --bufDirac 2 @loop 1 @timestretch 1" 388 | } 389 | 390 | } 391 | , { 392 | "box" : { 393 | "id" : "obj-24", 394 | "maxclass" : "toggle", 395 | "numinlets" : 1, 396 | "numoutlets" : 1, 397 | "outlettype" : [ "int" ], 398 | "parameter_enable" : 0, 399 | "patching_rect" : [ 907.0, 388.0, 20.0, 20.0 ], 400 | "presentation_rect" : [ 907.0, 388.0, 20.0, 20.0 ], 401 | "style" : "" 402 | } 403 | 404 | } 405 | , { 406 | "box" : { 407 | "fontname" : "Arial", 408 | "fontsize" : 12.0, 409 | "id" : "obj-20", 410 | "maxclass" : "message", 411 | "numinlets" : 2, 412 | "numoutlets" : 1, 413 | "outlettype" : [ "" ], 414 | "patching_rect" : [ 967.0, 343.0, 32.5, 22.0 ], 415 | "presentation_rect" : [ 967.0, 343.0, 32.5, 22.0 ], 416 | "style" : "", 417 | "text" : "1" 418 | } 419 | 420 | } 421 | , { 422 | "box" : { 423 | "fontname" : "Arial", 424 | "fontsize" : 12.0, 425 | "id" : "obj-19", 426 | "maxclass" : "message", 427 | "numinlets" : 2, 428 | "numoutlets" : 1, 429 | "outlettype" : [ "" ], 430 | "patching_rect" : [ 907.0, 343.0, 32.5, 22.0 ], 431 | "presentation_rect" : [ 907.0, 343.0, 32.5, 22.0 ], 432 | "style" : "", 433 | "text" : "0" 434 | } 435 | 436 | } 437 | , { 438 | "box" : { 439 | "id" : "obj-17", 440 | "maxclass" : "button", 441 | "numinlets" : 1, 442 | "numoutlets" : 1, 443 | "outlettype" : [ "bang" ], 444 | "patching_rect" : [ 967.0, 313.0, 20.0, 20.0 ], 445 | "presentation_rect" : [ 967.0, 313.0, 20.0, 20.0 ], 446 | "style" : "" 447 | } 448 | 449 | } 450 | , { 451 | "box" : { 452 | "id" : "obj-10", 453 | "maxclass" : "button", 454 | "numinlets" : 1, 455 | "numoutlets" : 1, 456 | "outlettype" : [ "bang" ], 457 | "patching_rect" : [ 907.0, 313.0, 20.0, 20.0 ], 458 | "presentation_rect" : [ 907.0, 313.0, 20.0, 20.0 ], 459 | "style" : "" 460 | } 461 | 462 | } 463 | , { 464 | "box" : { 465 | "fontname" : "Arial", 466 | "fontsize" : 12.0, 467 | "id" : "obj-8", 468 | "maxclass" : "newobj", 469 | "numinlets" : 0, 470 | "numoutlets" : 1, 471 | "outlettype" : [ "" ], 472 | "patching_rect" : [ 907.0, 283.0, 56.0, 22.0 ], 473 | "presentation_rect" : [ 907.0, 283.0, 56.0, 22.0 ], 474 | "style" : "", 475 | "text" : "r ---clear" 476 | } 477 | 478 | } 479 | , { 480 | "box" : { 481 | "fontname" : "Arial", 482 | "fontsize" : 12.0, 483 | "id" : "obj-7", 484 | "maxclass" : "newobj", 485 | "numinlets" : 0, 486 | "numoutlets" : 1, 487 | "outlettype" : [ "" ], 488 | "patching_rect" : [ 967.0, 283.0, 64.0, 22.0 ], 489 | "presentation_rect" : [ 967.0, 283.0, 64.0, 22.0 ], 490 | "style" : "", 491 | "text" : "r ---record" 492 | } 493 | 494 | } 495 | , { 496 | "box" : { 497 | "fontname" : "Arial", 498 | "fontsize" : 12.0, 499 | "id" : "obj-6", 500 | "maxclass" : "newobj", 501 | "numinlets" : 1, 502 | "numoutlets" : 0, 503 | "patching_rect" : [ 358.0, 369.0, 44.0, 22.0 ], 504 | "presentation_rect" : [ 358.0, 369.0, 44.0, 22.0 ], 505 | "style" : "", 506 | "text" : "out~ 2" 507 | } 508 | 509 | } 510 | , { 511 | "box" : { 512 | "fontname" : "Arial", 513 | "fontsize" : 12.0, 514 | "id" : "obj-5", 515 | "maxclass" : "newobj", 516 | "numinlets" : 1, 517 | "numoutlets" : 0, 518 | "patching_rect" : [ 300.0, 369.0, 44.0, 22.0 ], 519 | "presentation_rect" : [ 300.0, 369.0, 44.0, 22.0 ], 520 | "style" : "", 521 | "text" : "out~ 1" 522 | } 523 | 524 | } 525 | , { 526 | "box" : { 527 | "id" : "obj-16", 528 | "maxclass" : "toggle", 529 | "numinlets" : 1, 530 | "numoutlets" : 1, 531 | "outlettype" : [ "int" ], 532 | "parameter_enable" : 0, 533 | "patching_rect" : [ 952.0, 448.0, 20.0, 20.0 ], 534 | "presentation_rect" : [ 952.0, 448.0, 20.0, 20.0 ], 535 | "style" : "" 536 | } 537 | 538 | } 539 | , { 540 | "box" : { 541 | "fontname" : "Arial", 542 | "fontsize" : 12.0, 543 | "id" : "obj-14", 544 | "maxclass" : "newobj", 545 | "numinlets" : 2, 546 | "numoutlets" : 1, 547 | "outlettype" : [ "int" ], 548 | "patching_rect" : [ 952.0, 418.0, 35.0, 22.0 ], 549 | "presentation_rect" : [ 952.0, 418.0, 35.0, 22.0 ], 550 | "style" : "", 551 | "text" : "== 0" 552 | } 553 | 554 | } 555 | , { 556 | "box" : { 557 | "fontname" : "Arial", 558 | "fontsize" : 12.0, 559 | "id" : "obj-11", 560 | "maxclass" : "newobj", 561 | "numinlets" : 1, 562 | "numoutlets" : 2, 563 | "outlettype" : [ "int", "int" ], 564 | "patching_rect" : [ 907.0, 508.0, 58.0, 22.0 ], 565 | "presentation_rect" : [ 907.0, 508.0, 58.0, 22.0 ], 566 | "style" : "", 567 | "text" : "thispoly~" 568 | } 569 | 570 | } 571 | , { 572 | "box" : { 573 | "fontname" : "Arial", 574 | "fontsize" : 12.0, 575 | "id" : "obj-4", 576 | "maxclass" : "newobj", 577 | "numinlets" : 1, 578 | "numoutlets" : 1, 579 | "outlettype" : [ "signal" ], 580 | "patching_rect" : [ 60.0, 474.0, 37.0, 22.0 ], 581 | "presentation_rect" : [ 60.0, 474.0, 37.0, 22.0 ], 582 | "saved_object_attributes" : { 583 | "attr_comment" : "" 584 | } 585 | , 586 | "style" : "", 587 | "text" : "in~ 2" 588 | } 589 | 590 | } 591 | , { 592 | "box" : { 593 | "fontname" : "Arial", 594 | "fontsize" : 12.0, 595 | "id" : "obj-3", 596 | "maxclass" : "newobj", 597 | "numinlets" : 1, 598 | "numoutlets" : 1, 599 | "outlettype" : [ "signal" ], 600 | "patching_rect" : [ 15.0, 474.0, 37.0, 22.0 ], 601 | "presentation_rect" : [ 15.0, 474.0, 37.0, 22.0 ], 602 | "style" : "", 603 | "text" : "in~ 1" 604 | } 605 | 606 | } 607 | , { 608 | "box" : { 609 | "fontname" : "Arial", 610 | "fontsize" : 12.0, 611 | "id" : "obj-1", 612 | "maxclass" : "newobj", 613 | "numinlets" : 1, 614 | "numoutlets" : 1, 615 | "outlettype" : [ "" ], 616 | "patching_rect" : [ 165.0, 294.0, 30.0, 22.0 ], 617 | "presentation_rect" : [ 165.0, 294.0, 30.0, 22.0 ], 618 | "saved_object_attributes" : { 619 | "attr_comment" : "" 620 | } 621 | , 622 | "style" : "", 623 | "text" : "in 3" 624 | } 625 | 626 | } 627 | , { 628 | "box" : { 629 | "fontname" : "Arial Bold", 630 | "fontsize" : 10.0, 631 | "id" : "obj-132", 632 | "maxclass" : "newobj", 633 | "numinlets" : 2, 634 | "numoutlets" : 1, 635 | "outlettype" : [ "signal" ], 636 | "patching_rect" : [ 96.25, 346.250183, 42.0, 20.0 ], 637 | "presentation_rect" : [ 96.25, 346.250183, 42.0, 20.0 ], 638 | "style" : "", 639 | "text" : "*~ 1." 640 | } 641 | 642 | } 643 | , { 644 | "box" : { 645 | "fontname" : "Arial Bold", 646 | "fontsize" : 10.0, 647 | "id" : "obj-130", 648 | "maxclass" : "newobj", 649 | "numinlets" : 2, 650 | "numoutlets" : 1, 651 | "outlettype" : [ "signal" ], 652 | "patching_rect" : [ 96.0, 517.250244, 32.5, 20.0 ], 653 | "presentation_rect" : [ 96.0, 517.250244, 32.5, 20.0 ], 654 | "style" : "", 655 | "text" : "*~ 1." 656 | } 657 | 658 | } 659 | , { 660 | "box" : { 661 | "fontname" : "Arial Bold", 662 | "fontsize" : 10.0, 663 | "id" : "obj-25", 664 | "maxclass" : "newobj", 665 | "numinlets" : 1, 666 | "numoutlets" : 1, 667 | "outlettype" : [ "" ], 668 | "patcher" : { 669 | "fileversion" : 1, 670 | "appversion" : { 671 | "major" : 8, 672 | "minor" : 0, 673 | "revision" : 0, 674 | "architecture" : "x64", 675 | "modernui" : 1 676 | } 677 | , 678 | "rect" : [ 766.0, 390.0, 640.0, 480.0 ], 679 | "bglocked" : 0, 680 | "openinpresentation" : 0, 681 | "default_fontsize" : 12.0, 682 | "default_fontface" : 0, 683 | "default_fontname" : "Arial", 684 | "gridonopen" : 1, 685 | "gridsize" : [ 15.0, 15.0 ], 686 | "gridsnaponopen" : 1, 687 | "objectsnaponopen" : 1, 688 | "statusbarvisible" : 2, 689 | "toolbarvisible" : 1, 690 | "lefttoolbarpinned" : 0, 691 | "toptoolbarpinned" : 0, 692 | "righttoolbarpinned" : 0, 693 | "bottomtoolbarpinned" : 0, 694 | "toolbars_unpinned_last_save" : 0, 695 | "tallnewobj" : 0, 696 | "boxanimatetime" : 200, 697 | "enablehscroll" : 1, 698 | "enablevscroll" : 1, 699 | "devicewidth" : 0.0, 700 | "description" : "", 701 | "digest" : "", 702 | "tags" : "", 703 | "style" : "", 704 | "subpatcher_template" : "", 705 | "boxes" : [ { 706 | "box" : { 707 | "comment" : "", 708 | "id" : "obj-2", 709 | "index" : 1, 710 | "maxclass" : "outlet", 711 | "numinlets" : 1, 712 | "numoutlets" : 0, 713 | "patching_rect" : [ 270.0, 240.0, 25.0, 25.0 ], 714 | "presentation_rect" : [ 270.0, 240.0, 25.0, 25.0 ], 715 | "style" : "" 716 | } 717 | 718 | } 719 | , { 720 | "box" : { 721 | "comment" : "", 722 | "id" : "obj-1", 723 | "index" : 1, 724 | "maxclass" : "inlet", 725 | "numinlets" : 0, 726 | "numoutlets" : 1, 727 | "outlettype" : [ "float" ], 728 | "patching_rect" : [ 270.0, 90.0, 25.0, 25.0 ], 729 | "presentation_rect" : [ 270.0, 90.0, 25.0, 25.0 ], 730 | "style" : "" 731 | } 732 | 733 | } 734 | , { 735 | "box" : { 736 | "fontname" : "Arial Bold", 737 | "fontsize" : 10.0, 738 | "id" : "obj-88", 739 | "maxclass" : "newobj", 740 | "numinlets" : 1, 741 | "numoutlets" : 3, 742 | "outlettype" : [ "", "int", "int" ], 743 | "patching_rect" : [ 270.0, 210.0, 46.0, 20.0 ], 744 | "presentation_rect" : [ 270.0, 210.0, 46.0, 20.0 ], 745 | "style" : "", 746 | "text" : "change" 747 | } 748 | 749 | } 750 | , { 751 | "box" : { 752 | "fontname" : "Arial Bold", 753 | "fontsize" : 10.0, 754 | "id" : "obj-90", 755 | "maxclass" : "newobj", 756 | "numinlets" : 2, 757 | "numoutlets" : 1, 758 | "outlettype" : [ "float" ], 759 | "patching_rect" : [ 270.0, 180.0, 32.5, 20.0 ], 760 | "presentation_rect" : [ 270.0, 180.0, 32.5, 20.0 ], 761 | "style" : "", 762 | "text" : "* 8." 763 | } 764 | 765 | } 766 | ], 767 | "lines" : [ { 768 | "patchline" : { 769 | "destination" : [ "obj-90", 0 ], 770 | "source" : [ "obj-1", 0 ] 771 | } 772 | 773 | } 774 | , { 775 | "patchline" : { 776 | "destination" : [ "obj-2", 0 ], 777 | "source" : [ "obj-88", 0 ] 778 | } 779 | 780 | } 781 | , { 782 | "patchline" : { 783 | "destination" : [ "obj-88", 0 ], 784 | "source" : [ "obj-90", 0 ] 785 | } 786 | 787 | } 788 | ] 789 | } 790 | , 791 | "patching_rect" : [ 435.0, 388.0, 61.0, 20.0 ], 792 | "presentation_rect" : [ 435.0, 388.0, 61.0, 20.0 ], 793 | "saved_object_attributes" : { 794 | "description" : "", 795 | "digest" : "", 796 | "globalpatchername" : "", 797 | "style" : "", 798 | "tags" : "" 799 | } 800 | , 801 | "style" : "", 802 | "text" : "p sendPos" 803 | } 804 | 805 | } 806 | , { 807 | "box" : { 808 | "fontname" : "Arial Bold", 809 | "fontsize" : 10.0, 810 | "id" : "obj-129", 811 | "maxclass" : "newobj", 812 | "numinlets" : 1, 813 | "numoutlets" : 0, 814 | "patching_rect" : [ 435.0, 414.0, 68.0, 20.0 ], 815 | "presentation_rect" : [ 435.0, 414.0, 68.0, 20.0 ], 816 | "style" : "", 817 | "text" : "s ---position" 818 | } 819 | 820 | } 821 | , { 822 | "box" : { 823 | "fontname" : "Arial Bold", 824 | "fontsize" : 10.0, 825 | "id" : "obj-207", 826 | "maxclass" : "newobj", 827 | "numinlets" : 0, 828 | "numoutlets" : 1, 829 | "outlettype" : [ "" ], 830 | "patching_rect" : [ 182.0, 458.250244, 84.0, 20.0 ], 831 | "presentation_rect" : [ 182.0, 458.250244, 84.0, 20.0 ], 832 | "style" : "", 833 | "text" : "r ---window_ms" 834 | } 835 | 836 | } 837 | , { 838 | "box" : { 839 | "fontname" : "Arial Bold", 840 | "fontsize" : 10.0, 841 | "id" : "obj-76", 842 | "maxclass" : "newobj", 843 | "numinlets" : 1, 844 | "numoutlets" : 0, 845 | "patcher" : { 846 | "fileversion" : 1, 847 | "appversion" : { 848 | "major" : 8, 849 | "minor" : 0, 850 | "revision" : 0, 851 | "architecture" : "x64", 852 | "modernui" : 1 853 | } 854 | , 855 | "rect" : [ 232.0, 115.0, 640.0, 480.0 ], 856 | "bglocked" : 0, 857 | "openinpresentation" : 0, 858 | "default_fontsize" : 10.0, 859 | "default_fontface" : 0, 860 | "default_fontname" : "Arial Bold", 861 | "gridonopen" : 1, 862 | "gridsize" : [ 15.0, 15.0 ], 863 | "gridsnaponopen" : 1, 864 | "objectsnaponopen" : 1, 865 | "statusbarvisible" : 2, 866 | "toolbarvisible" : 1, 867 | "lefttoolbarpinned" : 0, 868 | "toptoolbarpinned" : 0, 869 | "righttoolbarpinned" : 0, 870 | "bottomtoolbarpinned" : 0, 871 | "toolbars_unpinned_last_save" : 0, 872 | "tallnewobj" : 0, 873 | "boxanimatetime" : 200, 874 | "enablehscroll" : 1, 875 | "enablevscroll" : 1, 876 | "devicewidth" : 0.0, 877 | "description" : "", 878 | "digest" : "", 879 | "tags" : "", 880 | "style" : "", 881 | "subpatcher_template" : "", 882 | "boxes" : [ { 883 | "box" : { 884 | "format" : 6, 885 | "id" : "obj-7", 886 | "maxclass" : "flonum", 887 | "numinlets" : 1, 888 | "numoutlets" : 2, 889 | "outlettype" : [ "", "bang" ], 890 | "parameter_enable" : 0, 891 | "patching_rect" : [ 189.0, 345.0, 50.0, 20.0 ], 892 | "presentation_rect" : [ 189.0, 345.0, 50.0, 20.0 ], 893 | "style" : "" 894 | } 895 | 896 | } 897 | , { 898 | "box" : { 899 | "id" : "obj-5", 900 | "maxclass" : "newobj", 901 | "numinlets" : 2, 902 | "numoutlets" : 1, 903 | "outlettype" : [ "float" ], 904 | "patching_rect" : [ 189.0, 314.0, 48.0, 20.0 ], 905 | "presentation_rect" : [ 189.0, 314.0, 48.0, 20.0 ], 906 | "style" : "", 907 | "text" : "* 30000." 908 | } 909 | 910 | } 911 | , { 912 | "box" : { 913 | "format" : 6, 914 | "id" : "obj-4", 915 | "maxclass" : "flonum", 916 | "numinlets" : 1, 917 | "numoutlets" : 2, 918 | "outlettype" : [ "", "bang" ], 919 | "parameter_enable" : 0, 920 | "patching_rect" : [ 387.0, 277.0, 50.0, 20.0 ], 921 | "presentation_rect" : [ 387.0, 277.0, 50.0, 20.0 ], 922 | "style" : "" 923 | } 924 | 925 | } 926 | , { 927 | "box" : { 928 | "id" : "obj-2", 929 | "maxclass" : "newobj", 930 | "numinlets" : 0, 931 | "numoutlets" : 1, 932 | "outlettype" : [ "" ], 933 | "patching_rect" : [ 387.0, 231.0, 98.0, 20.0 ], 934 | "presentation_rect" : [ 387.0, 231.0, 98.0, 20.0 ], 935 | "style" : "", 936 | "text" : "r ---looplength_ms" 937 | } 938 | 939 | } 940 | , { 941 | "box" : { 942 | "fontname" : "Arial Bold", 943 | "fontsize" : 10.0, 944 | "id" : "obj-18", 945 | "maxclass" : "newobj", 946 | "numinlets" : 0, 947 | "numoutlets" : 1, 948 | "outlettype" : [ "" ], 949 | "patching_rect" : [ 120.0, 120.0, 117.0, 20.0 ], 950 | "presentation_rect" : [ 120.0, 120.0, 117.0, 20.0 ], 951 | "style" : "", 952 | "text" : "r ---rec_speed_change" 953 | } 954 | 955 | } 956 | , { 957 | "box" : { 958 | "fontname" : "Arial Bold", 959 | "fontsize" : 10.0, 960 | "id" : "obj-43", 961 | "maxclass" : "newobj", 962 | "numinlets" : 2, 963 | "numoutlets" : 2, 964 | "outlettype" : [ "bang", "" ], 965 | "patching_rect" : [ 89.0, 174.0, 36.0, 20.0 ], 966 | "presentation_rect" : [ 89.0, 174.0, 36.0, 20.0 ], 967 | "style" : "", 968 | "text" : "sel 0" 969 | } 970 | 971 | } 972 | , { 973 | "box" : { 974 | "fontname" : "Arial Bold", 975 | "fontsize" : 10.0, 976 | "id" : "obj-48", 977 | "maxclass" : "message", 978 | "numinlets" : 2, 979 | "numoutlets" : 1, 980 | "outlettype" : [ "" ], 981 | "patching_rect" : [ 88.0, 204.0, 50.0, 20.0 ], 982 | "presentation_rect" : [ 88.0, 204.0, 50.0, 20.0 ], 983 | "style" : "", 984 | "text" : "start" 985 | } 986 | 987 | } 988 | , { 989 | "box" : { 990 | "fontname" : "Arial Bold", 991 | "fontsize" : 10.0, 992 | "id" : "obj-49", 993 | "maxclass" : "message", 994 | "numinlets" : 2, 995 | "numoutlets" : 1, 996 | "outlettype" : [ "" ], 997 | "patching_rect" : [ 141.0, 204.0, 50.0, 20.0 ], 998 | "presentation_rect" : [ 141.0, 204.0, 50.0, 20.0 ], 999 | "style" : "", 1000 | "text" : "stop" 1001 | } 1002 | 1003 | } 1004 | , { 1005 | "box" : { 1006 | "fontname" : "Arial Bold", 1007 | "fontsize" : 10.0, 1008 | "id" : "obj-54", 1009 | "maxclass" : "newobj", 1010 | "numinlets" : 0, 1011 | "numoutlets" : 1, 1012 | "outlettype" : [ "" ], 1013 | "patching_rect" : [ 60.0, 120.0, 56.0, 20.0 ], 1014 | "presentation_rect" : [ 60.0, 120.0, 56.0, 20.0 ], 1015 | "style" : "", 1016 | "text" : "r ---record" 1017 | } 1018 | 1019 | } 1020 | , { 1021 | "box" : { 1022 | "id" : "obj-73", 1023 | "maxclass" : "toggle", 1024 | "numinlets" : 1, 1025 | "numoutlets" : 1, 1026 | "outlettype" : [ "int" ], 1027 | "parameter_enable" : 0, 1028 | "patching_rect" : [ 90.0, 148.0, 20.0, 20.0 ], 1029 | "presentation_rect" : [ 90.0, 148.0, 20.0, 20.0 ], 1030 | "style" : "" 1031 | } 1032 | 1033 | } 1034 | , { 1035 | "box" : { 1036 | "fontname" : "Arial Bold", 1037 | "fontsize" : 10.0, 1038 | "id" : "obj-17", 1039 | "linecount" : 3, 1040 | "maxclass" : "comment", 1041 | "numinlets" : 1, 1042 | "numoutlets" : 0, 1043 | "patching_rect" : [ 189.0, 419.0, 71.5, 40.0 ], 1044 | "presentation_linecount" : 3, 1045 | "presentation_rect" : [ 189.0, 419.0, 71.5, 40.0 ], 1046 | "style" : "", 1047 | "text" : "Draw Waveform Line" 1048 | } 1049 | 1050 | } 1051 | , { 1052 | "box" : { 1053 | "fontname" : "Arial Bold", 1054 | "fontsize" : 10.0, 1055 | "id" : "obj-227", 1056 | "maxclass" : "newobj", 1057 | "numinlets" : 1, 1058 | "numoutlets" : 0, 1059 | "patching_rect" : [ 189.0, 397.276367, 84.0, 20.0 ], 1060 | "presentation_rect" : [ 189.0, 397.276367, 84.0, 20.0 ], 1061 | "style" : "", 1062 | "text" : "s ---waveform" 1063 | } 1064 | 1065 | } 1066 | , { 1067 | "box" : { 1068 | "fontname" : "Arial Bold", 1069 | "fontsize" : 10.0, 1070 | "format" : 6, 1071 | "id" : "obj-153", 1072 | "maxclass" : "flonum", 1073 | "numinlets" : 1, 1074 | "numoutlets" : 2, 1075 | "outlettype" : [ "", "bang" ], 1076 | "parameter_enable" : 0, 1077 | "patching_rect" : [ 189.0, 262.258301, 85.0, 20.0 ], 1078 | "presentation_rect" : [ 189.0, 262.258301, 85.0, 20.0 ], 1079 | "style" : "" 1080 | } 1081 | 1082 | } 1083 | , { 1084 | "box" : { 1085 | "fontname" : "Arial Bold", 1086 | "fontsize" : 10.0, 1087 | "id" : "obj-13", 1088 | "maxclass" : "newobj", 1089 | "numinlets" : 2, 1090 | "numoutlets" : 1, 1091 | "outlettype" : [ "float" ], 1092 | "patching_rect" : [ 189.0, 236.0, 83.0, 20.0 ], 1093 | "presentation_rect" : [ 189.0, 236.0, 83.0, 20.0 ], 1094 | "style" : "", 1095 | "text" : "snapshot~ 30" 1096 | } 1097 | 1098 | } 1099 | , { 1100 | "box" : { 1101 | "fontname" : "Arial Bold", 1102 | "fontsize" : 10.0, 1103 | "id" : "obj-1", 1104 | "maxclass" : "message", 1105 | "numinlets" : 2, 1106 | "numoutlets" : 1, 1107 | "outlettype" : [ "" ], 1108 | "patching_rect" : [ 189.0, 374.274658, 50.0, 20.0 ], 1109 | "presentation_rect" : [ 189.0, 374.274658, 50.0, 20.0 ], 1110 | "style" : "", 1111 | "text" : "line $1" 1112 | } 1113 | 1114 | } 1115 | , { 1116 | "box" : { 1117 | "comment" : "", 1118 | "id" : "obj-75", 1119 | "index" : 1, 1120 | "maxclass" : "inlet", 1121 | "numinlets" : 0, 1122 | "numoutlets" : 1, 1123 | "outlettype" : [ "signal" ], 1124 | "patching_rect" : [ 189.0, 40.0, 25.0, 25.0 ], 1125 | "presentation_rect" : [ 189.0, 40.0, 25.0, 25.0 ], 1126 | "style" : "" 1127 | } 1128 | 1129 | } 1130 | ], 1131 | "lines" : [ { 1132 | "patchline" : { 1133 | "destination" : [ "obj-227", 0 ], 1134 | "source" : [ "obj-1", 0 ] 1135 | } 1136 | 1137 | } 1138 | , { 1139 | "patchline" : { 1140 | "destination" : [ "obj-153", 0 ], 1141 | "source" : [ "obj-13", 0 ] 1142 | } 1143 | 1144 | } 1145 | , { 1146 | "patchline" : { 1147 | "destination" : [ "obj-5", 0 ], 1148 | "source" : [ "obj-153", 0 ] 1149 | } 1150 | 1151 | } 1152 | , { 1153 | "patchline" : { 1154 | "destination" : [ "obj-73", 0 ], 1155 | "source" : [ "obj-18", 0 ] 1156 | } 1157 | 1158 | } 1159 | , { 1160 | "patchline" : { 1161 | "destination" : [ "obj-4", 0 ], 1162 | "source" : [ "obj-2", 0 ] 1163 | } 1164 | 1165 | } 1166 | , { 1167 | "patchline" : { 1168 | "destination" : [ "obj-5", 1 ], 1169 | "midpoints" : [ 396.5, 305.0, 227.5, 305.0 ], 1170 | "source" : [ "obj-4", 0 ] 1171 | } 1172 | 1173 | } 1174 | , { 1175 | "patchline" : { 1176 | "destination" : [ "obj-48", 0 ], 1177 | "source" : [ "obj-43", 0 ] 1178 | } 1179 | 1180 | } 1181 | , { 1182 | "patchline" : { 1183 | "destination" : [ "obj-49", 0 ], 1184 | "source" : [ "obj-43", 1 ] 1185 | } 1186 | 1187 | } 1188 | , { 1189 | "patchline" : { 1190 | "destination" : [ "obj-13", 0 ], 1191 | "source" : [ "obj-48", 0 ] 1192 | } 1193 | 1194 | } 1195 | , { 1196 | "patchline" : { 1197 | "destination" : [ "obj-13", 0 ], 1198 | "source" : [ "obj-49", 0 ] 1199 | } 1200 | 1201 | } 1202 | , { 1203 | "patchline" : { 1204 | "destination" : [ "obj-7", 0 ], 1205 | "source" : [ "obj-5", 0 ] 1206 | } 1207 | 1208 | } 1209 | , { 1210 | "patchline" : { 1211 | "destination" : [ "obj-73", 0 ], 1212 | "source" : [ "obj-54", 0 ] 1213 | } 1214 | 1215 | } 1216 | , { 1217 | "patchline" : { 1218 | "destination" : [ "obj-1", 0 ], 1219 | "source" : [ "obj-7", 0 ] 1220 | } 1221 | 1222 | } 1223 | , { 1224 | "patchline" : { 1225 | "destination" : [ "obj-43", 0 ], 1226 | "source" : [ "obj-73", 0 ] 1227 | } 1228 | 1229 | } 1230 | , { 1231 | "patchline" : { 1232 | "destination" : [ "obj-13", 0 ], 1233 | "source" : [ "obj-75", 0 ] 1234 | } 1235 | 1236 | } 1237 | ] 1238 | } 1239 | , 1240 | "patching_rect" : [ 561.25, 360.21814, 61.0, 20.0 ], 1241 | "presentation_rect" : [ 561.25, 360.21814, 61.0, 20.0 ], 1242 | "saved_object_attributes" : { 1243 | "description" : "", 1244 | "digest" : "", 1245 | "fontname" : "Arial Bold", 1246 | "fontsize" : 10.0, 1247 | "globalpatchername" : "", 1248 | "style" : "", 1249 | "tags" : "" 1250 | } 1251 | , 1252 | "style" : "", 1253 | "text" : "p lineDraw" 1254 | } 1255 | 1256 | } 1257 | , { 1258 | "box" : { 1259 | "fontname" : "Arial Bold", 1260 | "fontsize" : 10.0, 1261 | "id" : "obj-466", 1262 | "maxclass" : "newobj", 1263 | "numinlets" : 2, 1264 | "numoutlets" : 1, 1265 | "outlettype" : [ "signal" ], 1266 | "patcher" : { 1267 | "fileversion" : 1, 1268 | "appversion" : { 1269 | "major" : 8, 1270 | "minor" : 0, 1271 | "revision" : 0, 1272 | "architecture" : "x64", 1273 | "modernui" : 1 1274 | } 1275 | , 1276 | "rect" : [ 951.0, 144.0, 640.0, 480.0 ], 1277 | "bglocked" : 0, 1278 | "openinpresentation" : 0, 1279 | "default_fontsize" : 10.0, 1280 | "default_fontface" : 0, 1281 | "default_fontname" : "Arial Bold", 1282 | "gridonopen" : 1, 1283 | "gridsize" : [ 15.0, 15.0 ], 1284 | "gridsnaponopen" : 1, 1285 | "objectsnaponopen" : 1, 1286 | "statusbarvisible" : 2, 1287 | "toolbarvisible" : 1, 1288 | "lefttoolbarpinned" : 0, 1289 | "toptoolbarpinned" : 0, 1290 | "righttoolbarpinned" : 0, 1291 | "bottomtoolbarpinned" : 0, 1292 | "toolbars_unpinned_last_save" : 0, 1293 | "tallnewobj" : 0, 1294 | "boxanimatetime" : 200, 1295 | "enablehscroll" : 1, 1296 | "enablevscroll" : 1, 1297 | "devicewidth" : 0.0, 1298 | "description" : "", 1299 | "digest" : "", 1300 | "tags" : "", 1301 | "style" : "", 1302 | "subpatcher_template" : "", 1303 | "boxes" : [ { 1304 | "box" : { 1305 | "fontname" : "Arial Bold", 1306 | "fontsize" : 10.0, 1307 | "id" : "obj-1", 1308 | "maxclass" : "newobj", 1309 | "numinlets" : 1, 1310 | "numoutlets" : 3, 1311 | "outlettype" : [ "bang", "int", "int" ], 1312 | "patching_rect" : [ 180.0, 210.0, 79.0, 18.0 ], 1313 | "presentation_rect" : [ 180.0, 210.0, 79.0, 18.0 ], 1314 | "style" : "", 1315 | "text" : "live.thisdevice" 1316 | } 1317 | 1318 | } 1319 | , { 1320 | "box" : { 1321 | "fontname" : "Arial Bold", 1322 | "fontsize" : 10.0, 1323 | "id" : "obj-18", 1324 | "linecount" : 2, 1325 | "maxclass" : "comment", 1326 | "numinlets" : 1, 1327 | "numoutlets" : 0, 1328 | "patching_rect" : [ 135.0, 38.0, 155.0, 29.0 ], 1329 | "presentation_linecount" : 2, 1330 | "presentation_rect" : [ 135.0, 38.0, 155.0, 29.0 ], 1331 | "style" : "", 1332 | "text" : "Window bang precedes quantize bang by window_ms" 1333 | } 1334 | 1335 | } 1336 | , { 1337 | "box" : { 1338 | "id" : "obj-199", 1339 | "maxclass" : "button", 1340 | "numinlets" : 1, 1341 | "numoutlets" : 1, 1342 | "outlettype" : [ "bang" ], 1343 | "patching_rect" : [ 150.0, 169.0, 20.0, 20.0 ], 1344 | "presentation_rect" : [ 150.0, 169.0, 20.0, 20.0 ], 1345 | "style" : "" 1346 | } 1347 | 1348 | } 1349 | , { 1350 | "box" : { 1351 | "id" : "obj-183", 1352 | "maxclass" : "button", 1353 | "numinlets" : 1, 1354 | "numoutlets" : 1, 1355 | "outlettype" : [ "bang" ], 1356 | "patching_rect" : [ 150.0, 100.0, 20.0, 20.0 ], 1357 | "presentation_rect" : [ 150.0, 100.0, 20.0, 20.0 ], 1358 | "style" : "" 1359 | } 1360 | 1361 | } 1362 | , { 1363 | "box" : { 1364 | "fontname" : "Arial Bold", 1365 | "fontsize" : 10.0, 1366 | "id" : "obj-184", 1367 | "maxclass" : "newobj", 1368 | "numinlets" : 0, 1369 | "numoutlets" : 1, 1370 | "outlettype" : [ "" ], 1371 | "patching_rect" : [ 150.0, 68.0, 93.0, 18.0 ], 1372 | "presentation_rect" : [ 150.0, 68.0, 93.0, 18.0 ], 1373 | "style" : "", 1374 | "text" : "r ---window_bang" 1375 | } 1376 | 1377 | } 1378 | , { 1379 | "box" : { 1380 | "fontname" : "Arial Bold", 1381 | "fontsize" : 10.0, 1382 | "id" : "obj-193", 1383 | "maxclass" : "newobj", 1384 | "numinlets" : 2, 1385 | "numoutlets" : 2, 1386 | "outlettype" : [ "bang", "bang" ], 1387 | "patching_rect" : [ 150.0, 139.0, 52.0, 18.0 ], 1388 | "presentation_rect" : [ 150.0, 139.0, 52.0, 18.0 ], 1389 | "style" : "", 1390 | "text" : "onebang" 1391 | } 1392 | 1393 | } 1394 | , { 1395 | "box" : { 1396 | "fontname" : "Arial Bold", 1397 | "fontsize" : 10.0, 1398 | "id" : "obj-15", 1399 | "linecount" : 2, 1400 | "maxclass" : "comment", 1401 | "numinlets" : 1, 1402 | "numoutlets" : 0, 1403 | "patching_rect" : [ 45.0, 75.0, 76.0, 29.0 ], 1404 | "presentation_linecount" : 2, 1405 | "presentation_rect" : [ 45.0, 75.0, 76.0, 29.0 ], 1406 | "style" : "", 1407 | "text" : "No Quantize,\nNo Window" 1408 | } 1409 | 1410 | } 1411 | , { 1412 | "box" : { 1413 | "fontname" : "Arial Bold", 1414 | "fontsize" : 10.0, 1415 | "id" : "obj-9", 1416 | "maxclass" : "newobj", 1417 | "numinlets" : 2, 1418 | "numoutlets" : 1, 1419 | "outlettype" : [ "int" ], 1420 | "patching_rect" : [ 45.0, 143.0, 32.5, 18.0 ], 1421 | "presentation_rect" : [ 45.0, 143.0, 32.5, 18.0 ], 1422 | "style" : "", 1423 | "text" : "== 0" 1424 | } 1425 | 1426 | } 1427 | , { 1428 | "box" : { 1429 | "fontname" : "Arial Bold", 1430 | "fontsize" : 10.0, 1431 | "id" : "obj-8", 1432 | "maxclass" : "newobj", 1433 | "numinlets" : 0, 1434 | "numoutlets" : 1, 1435 | "outlettype" : [ "" ], 1436 | "patching_rect" : [ 45.0, 113.0, 86.0, 18.0 ], 1437 | "presentation_rect" : [ 45.0, 113.0, 86.0, 18.0 ], 1438 | "style" : "", 1439 | "text" : "r ---no_quantize" 1440 | } 1441 | 1442 | } 1443 | , { 1444 | "box" : { 1445 | "fontname" : "Arial Bold", 1446 | "fontsize" : 10.0, 1447 | "id" : "obj-7", 1448 | "maxclass" : "newobj", 1449 | "numinlets" : 2, 1450 | "numoutlets" : 1, 1451 | "outlettype" : [ "" ], 1452 | "patching_rect" : [ 45.0, 203.0, 112.25, 18.0 ], 1453 | "presentation_rect" : [ 45.0, 203.0, 112.25, 18.0 ], 1454 | "style" : "", 1455 | "text" : "gate" 1456 | } 1457 | 1458 | } 1459 | , { 1460 | "box" : { 1461 | "fontname" : "Arial Bold", 1462 | "fontsize" : 10.0, 1463 | "id" : "obj-5", 1464 | "linecount" : 2, 1465 | "maxclass" : "comment", 1466 | "numinlets" : 1, 1467 | "numoutlets" : 0, 1468 | "patching_rect" : [ 295.0, 77.0, 50.0, 29.0 ], 1469 | "presentation_linecount" : 2, 1470 | "presentation_rect" : [ 295.0, 77.0, 50.0, 29.0 ], 1471 | "style" : "", 1472 | "text" : "Window Time" 1473 | } 1474 | 1475 | } 1476 | , { 1477 | "box" : { 1478 | "comment" : "", 1479 | "id" : "obj-3", 1480 | "index" : 2, 1481 | "maxclass" : "inlet", 1482 | "numinlets" : 0, 1483 | "numoutlets" : 1, 1484 | "outlettype" : [ "" ], 1485 | "patching_rect" : [ 295.0, 108.0, 25.0, 25.0 ], 1486 | "presentation_rect" : [ 295.0, 108.0, 25.0, 25.0 ], 1487 | "style" : "" 1488 | } 1489 | 1490 | } 1491 | , { 1492 | "box" : { 1493 | "fontname" : "Arial Bold", 1494 | "fontsize" : 10.0, 1495 | "id" : "obj-2", 1496 | "linecount" : 2, 1497 | "maxclass" : "comment", 1498 | "numinlets" : 1, 1499 | "numoutlets" : 0, 1500 | "patching_rect" : [ 330.0, 203.0, 150.0, 29.0 ], 1501 | "presentation_linecount" : 2, 1502 | "presentation_rect" : [ 330.0, 203.0, 150.0, 29.0 ], 1503 | "style" : "", 1504 | "text" : "Simple fade to 0 and back to 1 over window time x2" 1505 | } 1506 | 1507 | } 1508 | , { 1509 | "box" : { 1510 | "fontname" : "Arial Bold", 1511 | "fontsize" : 10.0, 1512 | "id" : "obj-429", 1513 | "maxclass" : "message", 1514 | "numinlets" : 2, 1515 | "numoutlets" : 1, 1516 | "outlettype" : [ "" ], 1517 | "patching_rect" : [ 45.0, 240.0, 270.0, 16.0 ], 1518 | "presentation_rect" : [ 45.0, 240.0, 270.0, 16.0 ], 1519 | "style" : "", 1520 | "text" : "0. 10. 1. 10." 1521 | } 1522 | 1523 | } 1524 | , { 1525 | "box" : { 1526 | "fontname" : "Arial Bold", 1527 | "fontsize" : 10.0, 1528 | "id" : "obj-427", 1529 | "maxclass" : "message", 1530 | "numinlets" : 2, 1531 | "numoutlets" : 1, 1532 | "outlettype" : [ "" ], 1533 | "patching_rect" : [ 295.0, 174.0, 58.0, 16.0 ], 1534 | "presentation_rect" : [ 295.0, 174.0, 58.0, 16.0 ], 1535 | "style" : "", 1536 | "text" : "0. $1 1. $1" 1537 | } 1538 | 1539 | } 1540 | , { 1541 | "box" : { 1542 | "fontface" : 0, 1543 | "fontname" : "Arial Bold", 1544 | "fontsize" : 10.0, 1545 | "id" : "obj-423", 1546 | "interval" : 20.0, 1547 | "maxclass" : "number~", 1548 | "mode" : 2, 1549 | "numinlets" : 2, 1550 | "numoutlets" : 2, 1551 | "outlettype" : [ "signal", "float" ], 1552 | "patching_rect" : [ 61.0, 307.0, 56.0, 18.0 ], 1553 | "presentation_rect" : [ 61.0, 307.0, 56.0, 18.0 ], 1554 | "sig" : 0.0, 1555 | "style" : "" 1556 | } 1557 | 1558 | } 1559 | , { 1560 | "box" : { 1561 | "fontname" : "Arial Bold", 1562 | "fontsize" : 10.0, 1563 | "id" : "obj-422", 1564 | "maxclass" : "newobj", 1565 | "numinlets" : 2, 1566 | "numoutlets" : 2, 1567 | "outlettype" : [ "signal", "bang" ], 1568 | "patching_rect" : [ 45.0, 272.0, 34.0, 18.0 ], 1569 | "presentation_rect" : [ 45.0, 272.0, 34.0, 18.0 ], 1570 | "style" : "", 1571 | "text" : "line~" 1572 | } 1573 | 1574 | } 1575 | , { 1576 | "box" : { 1577 | "comment" : "", 1578 | "id" : "obj-459", 1579 | "index" : 1, 1580 | "maxclass" : "inlet", 1581 | "numinlets" : 0, 1582 | "numoutlets" : 1, 1583 | "outlettype" : [ "" ], 1584 | "patching_rect" : [ 183.0, 98.0, 25.0, 25.0 ], 1585 | "presentation_rect" : [ 183.0, 98.0, 25.0, 25.0 ], 1586 | "style" : "" 1587 | } 1588 | 1589 | } 1590 | , { 1591 | "box" : { 1592 | "comment" : "", 1593 | "id" : "obj-464", 1594 | "index" : 1, 1595 | "maxclass" : "outlet", 1596 | "numinlets" : 1, 1597 | "numoutlets" : 0, 1598 | "patching_rect" : [ 45.0, 366.0, 25.0, 25.0 ], 1599 | "presentation_rect" : [ 45.0, 366.0, 25.0, 25.0 ], 1600 | "style" : "" 1601 | } 1602 | 1603 | } 1604 | ], 1605 | "lines" : [ { 1606 | "patchline" : { 1607 | "destination" : [ "obj-429", 0 ], 1608 | "source" : [ "obj-1", 0 ] 1609 | } 1610 | 1611 | } 1612 | , { 1613 | "patchline" : { 1614 | "destination" : [ "obj-193", 0 ], 1615 | "source" : [ "obj-183", 0 ] 1616 | } 1617 | 1618 | } 1619 | , { 1620 | "patchline" : { 1621 | "destination" : [ "obj-183", 0 ], 1622 | "source" : [ "obj-184", 0 ] 1623 | } 1624 | 1625 | } 1626 | , { 1627 | "patchline" : { 1628 | "destination" : [ "obj-199", 0 ], 1629 | "source" : [ "obj-193", 0 ] 1630 | } 1631 | 1632 | } 1633 | , { 1634 | "patchline" : { 1635 | "destination" : [ "obj-7", 1 ], 1636 | "source" : [ "obj-199", 0 ] 1637 | } 1638 | 1639 | } 1640 | , { 1641 | "patchline" : { 1642 | "destination" : [ "obj-427", 0 ], 1643 | "source" : [ "obj-3", 0 ] 1644 | } 1645 | 1646 | } 1647 | , { 1648 | "patchline" : { 1649 | "destination" : [ "obj-423", 0 ], 1650 | "order" : 0, 1651 | "source" : [ "obj-422", 0 ] 1652 | } 1653 | 1654 | } 1655 | , { 1656 | "patchline" : { 1657 | "destination" : [ "obj-464", 0 ], 1658 | "order" : 1, 1659 | "source" : [ "obj-422", 0 ] 1660 | } 1661 | 1662 | } 1663 | , { 1664 | "patchline" : { 1665 | "destination" : [ "obj-429", 1 ], 1666 | "source" : [ "obj-427", 0 ] 1667 | } 1668 | 1669 | } 1670 | , { 1671 | "patchline" : { 1672 | "destination" : [ "obj-422", 0 ], 1673 | "source" : [ "obj-429", 0 ] 1674 | } 1675 | 1676 | } 1677 | , { 1678 | "patchline" : { 1679 | "destination" : [ "obj-193", 1 ], 1680 | "source" : [ "obj-459", 0 ] 1681 | } 1682 | 1683 | } 1684 | , { 1685 | "patchline" : { 1686 | "destination" : [ "obj-429", 0 ], 1687 | "source" : [ "obj-7", 0 ] 1688 | } 1689 | 1690 | } 1691 | , { 1692 | "patchline" : { 1693 | "destination" : [ "obj-9", 0 ], 1694 | "source" : [ "obj-8", 0 ] 1695 | } 1696 | 1697 | } 1698 | , { 1699 | "patchline" : { 1700 | "destination" : [ "obj-7", 0 ], 1701 | "source" : [ "obj-9", 0 ] 1702 | } 1703 | 1704 | } 1705 | ] 1706 | } 1707 | , 1708 | "patching_rect" : [ 143.0, 482.250244, 58.0, 20.0 ], 1709 | "presentation_rect" : [ 143.0, 482.250244, 58.0, 20.0 ], 1710 | "saved_object_attributes" : { 1711 | "description" : "", 1712 | "digest" : "", 1713 | "fontname" : "Arial Bold", 1714 | "fontsize" : 10.0, 1715 | "globalpatchername" : "", 1716 | "style" : "", 1717 | "tags" : "" 1718 | } 1719 | , 1720 | "style" : "", 1721 | "text" : "p Window" 1722 | } 1723 | 1724 | } 1725 | , { 1726 | "box" : { 1727 | "color" : [ 1.0, 0.501961, 0.0, 1.0 ], 1728 | "fontname" : "Arial Bold", 1729 | "fontsize" : 10.0, 1730 | "id" : "obj-454", 1731 | "maxclass" : "newobj", 1732 | "numinlets" : 3, 1733 | "numoutlets" : 0, 1734 | "patcher" : { 1735 | "fileversion" : 1, 1736 | "appversion" : { 1737 | "major" : 8, 1738 | "minor" : 0, 1739 | "revision" : 0, 1740 | "architecture" : "x64", 1741 | "modernui" : 1 1742 | } 1743 | , 1744 | "rect" : [ 34.0, 142.0, 700.0, 426.0 ], 1745 | "bglocked" : 0, 1746 | "openinpresentation" : 0, 1747 | "default_fontsize" : 10.0, 1748 | "default_fontface" : 0, 1749 | "default_fontname" : "Arial Bold", 1750 | "gridonopen" : 1, 1751 | "gridsize" : [ 15.0, 15.0 ], 1752 | "gridsnaponopen" : 1, 1753 | "objectsnaponopen" : 1, 1754 | "statusbarvisible" : 2, 1755 | "toolbarvisible" : 1, 1756 | "lefttoolbarpinned" : 0, 1757 | "toptoolbarpinned" : 0, 1758 | "righttoolbarpinned" : 0, 1759 | "bottomtoolbarpinned" : 0, 1760 | "toolbars_unpinned_last_save" : 0, 1761 | "tallnewobj" : 0, 1762 | "boxanimatetime" : 200, 1763 | "enablehscroll" : 1, 1764 | "enablevscroll" : 1, 1765 | "devicewidth" : 0.0, 1766 | "description" : "", 1767 | "digest" : "", 1768 | "tags" : "", 1769 | "style" : "", 1770 | "subpatcher_template" : "", 1771 | "boxes" : [ { 1772 | "box" : { 1773 | "comment" : "", 1774 | "id" : "obj-7", 1775 | "index" : 2, 1776 | "maxclass" : "inlet", 1777 | "numinlets" : 0, 1778 | "numoutlets" : 1, 1779 | "outlettype" : [ "signal" ], 1780 | "patching_rect" : [ 240.0, 150.0, 25.0, 25.0 ], 1781 | "presentation_rect" : [ 240.0, 150.0, 25.0, 25.0 ], 1782 | "style" : "" 1783 | } 1784 | 1785 | } 1786 | , { 1787 | "box" : { 1788 | "fontname" : "Arial Bold", 1789 | "fontsize" : 10.0, 1790 | "id" : "obj-5", 1791 | "maxclass" : "newobj", 1792 | "numinlets" : 3, 1793 | "numoutlets" : 0, 1794 | "patching_rect" : [ 225.0, 270.0, 101.0, 20.0 ], 1795 | "presentation_rect" : [ 225.0, 270.0, 101.0, 20.0 ], 1796 | "style" : "", 1797 | "text" : "poke~ ---bufDirac 2" 1798 | } 1799 | 1800 | } 1801 | , { 1802 | "box" : { 1803 | "id" : "obj-64", 1804 | "maxclass" : "toggle", 1805 | "numinlets" : 1, 1806 | "numoutlets" : 1, 1807 | "outlettype" : [ "int" ], 1808 | "parameter_enable" : 0, 1809 | "patching_rect" : [ 375.0, 90.0, 20.0, 20.0 ], 1810 | "presentation_rect" : [ 375.0, 90.0, 20.0, 20.0 ], 1811 | "style" : "" 1812 | } 1813 | 1814 | } 1815 | , { 1816 | "box" : { 1817 | "fontface" : 0, 1818 | "fontname" : "Arial Bold", 1819 | "fontsize" : 10.0, 1820 | "id" : "obj-63", 1821 | "maxclass" : "number~", 1822 | "mode" : 2, 1823 | "numinlets" : 2, 1824 | "numoutlets" : 2, 1825 | "outlettype" : [ "signal", "float" ], 1826 | "patching_rect" : [ 390.0, 210.0, 80.0, 20.0 ], 1827 | "presentation_rect" : [ 390.0, 210.0, 80.0, 20.0 ], 1828 | "sig" : 0.0, 1829 | "style" : "" 1830 | } 1831 | 1832 | } 1833 | , { 1834 | "box" : { 1835 | "fontname" : "Arial Bold", 1836 | "fontsize" : 10.0, 1837 | "id" : "obj-59", 1838 | "maxclass" : "newobj", 1839 | "numinlets" : 1, 1840 | "numoutlets" : 1, 1841 | "outlettype" : [ "signal" ], 1842 | "patcher" : { 1843 | "fileversion" : 1, 1844 | "appversion" : { 1845 | "major" : 8, 1846 | "minor" : 0, 1847 | "revision" : 0, 1848 | "architecture" : "x64", 1849 | "modernui" : 1 1850 | } 1851 | , 1852 | "rect" : [ 747.0, 139.0, 640.0, 480.0 ], 1853 | "bglocked" : 0, 1854 | "openinpresentation" : 0, 1855 | "default_fontsize" : 12.0, 1856 | "default_fontface" : 0, 1857 | "default_fontname" : "Arial", 1858 | "gridonopen" : 1, 1859 | "gridsize" : [ 15.0, 15.0 ], 1860 | "gridsnaponopen" : 1, 1861 | "objectsnaponopen" : 1, 1862 | "statusbarvisible" : 2, 1863 | "toolbarvisible" : 1, 1864 | "lefttoolbarpinned" : 0, 1865 | "toptoolbarpinned" : 0, 1866 | "righttoolbarpinned" : 0, 1867 | "bottomtoolbarpinned" : 0, 1868 | "toolbars_unpinned_last_save" : 0, 1869 | "tallnewobj" : 0, 1870 | "boxanimatetime" : 200, 1871 | "enablehscroll" : 1, 1872 | "enablevscroll" : 1, 1873 | "devicewidth" : 0.0, 1874 | "description" : "", 1875 | "digest" : "", 1876 | "tags" : "", 1877 | "style" : "", 1878 | "subpatcher_template" : "", 1879 | "boxes" : [ { 1880 | "box" : { 1881 | "id" : "obj-3", 1882 | "maxclass" : "newobj", 1883 | "numinlets" : 2, 1884 | "numoutlets" : 1, 1885 | "outlettype" : [ "signal" ], 1886 | "patching_rect" : [ 18.0, 256.0, 72.0, 22.0 ], 1887 | "presentation_rect" : [ 18.0, 256.0, 72.0, 22.0 ], 1888 | "style" : "", 1889 | "text" : "*~ 1323000" 1890 | } 1891 | 1892 | } 1893 | , { 1894 | "box" : { 1895 | "fontname" : "Arial", 1896 | "fontsize" : 12.0, 1897 | "id" : "obj-51", 1898 | "maxclass" : "newobj", 1899 | "numinlets" : 1, 1900 | "numoutlets" : 1, 1901 | "outlettype" : [ "signal" ], 1902 | "patching_rect" : [ 50.0, 126.0, 37.0, 22.0 ], 1903 | "presentation_rect" : [ 50.0, 126.0, 37.0, 22.0 ], 1904 | "style" : "", 1905 | "text" : "abs~" 1906 | } 1907 | 1908 | } 1909 | , { 1910 | "box" : { 1911 | "fontname" : "Arial", 1912 | "fontsize" : 13.0, 1913 | "id" : "obj-37", 1914 | "maxclass" : "newobj", 1915 | "numinlets" : 2, 1916 | "numoutlets" : 1, 1917 | "outlettype" : [ "signal" ], 1918 | "patching_rect" : [ 50.0, 155.0, 40.0, 23.0 ], 1919 | "presentation_rect" : [ 50.0, 155.0, 40.0, 23.0 ], 1920 | "style" : "", 1921 | "text" : "<~ 1." 1922 | } 1923 | 1924 | } 1925 | , { 1926 | "box" : { 1927 | "fontname" : "Arial", 1928 | "fontsize" : 13.0, 1929 | "id" : "obj-45", 1930 | "maxclass" : "newobj", 1931 | "numinlets" : 1, 1932 | "numoutlets" : 1, 1933 | "outlettype" : [ "signal" ], 1934 | "patching_rect" : [ 50.0, 100.0, 47.0, 23.0 ], 1935 | "presentation_rect" : [ 50.0, 100.0, 47.0, 23.0 ], 1936 | "style" : "", 1937 | "text" : "delta~" 1938 | } 1939 | 1940 | } 1941 | , { 1942 | "box" : { 1943 | "fontname" : "Arial Bold", 1944 | "fontsize" : 10.0, 1945 | "id" : "obj-5", 1946 | "maxclass" : "newobj", 1947 | "numinlets" : 2, 1948 | "numoutlets" : 1, 1949 | "outlettype" : [ "signal" ], 1950 | "patching_rect" : [ 50.0, 185.0, 110.0, 20.0 ], 1951 | "presentation_rect" : [ 50.0, 185.0, 110.0, 20.0 ], 1952 | "style" : "", 1953 | "text" : "count~ 0 1323000." 1954 | } 1955 | 1956 | } 1957 | , { 1958 | "box" : { 1959 | "fontname" : "Arial Bold", 1960 | "fontsize" : 10.0, 1961 | "id" : "obj-21", 1962 | "maxclass" : "number", 1963 | "numinlets" : 1, 1964 | "numoutlets" : 2, 1965 | "outlettype" : [ "", "bang" ], 1966 | "parameter_enable" : 0, 1967 | "patching_rect" : [ 140.0, 155.0, 71.0, 20.0 ], 1968 | "presentation_rect" : [ 140.0, 155.0, 71.0, 20.0 ], 1969 | "style" : "" 1970 | } 1971 | 1972 | } 1973 | , { 1974 | "box" : { 1975 | "fontname" : "Arial Bold", 1976 | "fontsize" : 10.0, 1977 | "id" : "obj-38", 1978 | "maxclass" : "newobj", 1979 | "numinlets" : 0, 1980 | "numoutlets" : 1, 1981 | "outlettype" : [ "" ], 1982 | "patching_rect" : [ 140.0, 125.0, 114.0, 20.0 ], 1983 | "presentation_rect" : [ 140.0, 125.0, 114.0, 20.0 ], 1984 | "style" : "", 1985 | "text" : "r ---looplength_samps" 1986 | } 1987 | 1988 | } 1989 | , { 1990 | "box" : { 1991 | "comment" : "", 1992 | "id" : "obj-57", 1993 | "index" : 1, 1994 | "maxclass" : "inlet", 1995 | "numinlets" : 0, 1996 | "numoutlets" : 1, 1997 | "outlettype" : [ "signal" ], 1998 | "patching_rect" : [ 18.0, 46.0, 25.0, 25.0 ], 1999 | "presentation_rect" : [ 18.0, 46.0, 25.0, 25.0 ], 2000 | "style" : "" 2001 | } 2002 | 2003 | } 2004 | , { 2005 | "box" : { 2006 | "comment" : "", 2007 | "id" : "obj-58", 2008 | "index" : 1, 2009 | "maxclass" : "outlet", 2010 | "numinlets" : 1, 2011 | "numoutlets" : 0, 2012 | "patching_rect" : [ 50.0, 317.0, 25.0, 25.0 ], 2013 | "presentation_rect" : [ 50.0, 317.0, 25.0, 25.0 ], 2014 | "style" : "" 2015 | } 2016 | 2017 | } 2018 | ], 2019 | "lines" : [ { 2020 | "patchline" : { 2021 | "destination" : [ "obj-3", 1 ], 2022 | "order" : 1, 2023 | "source" : [ "obj-21", 0 ] 2024 | } 2025 | 2026 | } 2027 | , { 2028 | "patchline" : { 2029 | "destination" : [ "obj-5", 1 ], 2030 | "order" : 0, 2031 | "source" : [ "obj-21", 0 ] 2032 | } 2033 | 2034 | } 2035 | , { 2036 | "patchline" : { 2037 | "destination" : [ "obj-58", 0 ], 2038 | "source" : [ "obj-3", 0 ] 2039 | } 2040 | 2041 | } 2042 | , { 2043 | "patchline" : { 2044 | "color" : [ 0.0, 0.188235, 0.756863, 1.0 ], 2045 | "destination" : [ "obj-5", 0 ], 2046 | "source" : [ "obj-37", 0 ] 2047 | } 2048 | 2049 | } 2050 | , { 2051 | "patchline" : { 2052 | "destination" : [ "obj-21", 0 ], 2053 | "source" : [ "obj-38", 0 ] 2054 | } 2055 | 2056 | } 2057 | , { 2058 | "patchline" : { 2059 | "color" : [ 0.0, 0.188235, 0.756863, 1.0 ], 2060 | "destination" : [ "obj-51", 0 ], 2061 | "source" : [ "obj-45", 0 ] 2062 | } 2063 | 2064 | } 2065 | , { 2066 | "patchline" : { 2067 | "color" : [ 0.0, 0.188235, 0.756863, 1.0 ], 2068 | "destination" : [ "obj-37", 0 ], 2069 | "source" : [ "obj-51", 0 ] 2070 | } 2071 | 2072 | } 2073 | , { 2074 | "patchline" : { 2075 | "destination" : [ "obj-3", 0 ], 2076 | "source" : [ "obj-57", 0 ] 2077 | } 2078 | 2079 | } 2080 | ] 2081 | } 2082 | , 2083 | "patching_rect" : [ 465.0, 90.0, 93.0, 20.0 ], 2084 | "presentation_rect" : [ 465.0, 90.0, 93.0, 20.0 ], 2085 | "saved_object_attributes" : { 2086 | "description" : "", 2087 | "digest" : "", 2088 | "globalpatchername" : "", 2089 | "style" : "", 2090 | "tags" : "" 2091 | } 2092 | , 2093 | "style" : "", 2094 | "text" : "p SyncInSamples" 2095 | } 2096 | 2097 | } 2098 | , { 2099 | "box" : { 2100 | "comment" : "", 2101 | "id" : "obj-6", 2102 | "index" : 3, 2103 | "maxclass" : "inlet", 2104 | "numinlets" : 0, 2105 | "numoutlets" : 1, 2106 | "outlettype" : [ "signal" ], 2107 | "patching_rect" : [ 465.0, 55.0, 25.0, 25.0 ], 2108 | "presentation_rect" : [ 465.0, 55.0, 25.0, 25.0 ], 2109 | "style" : "" 2110 | } 2111 | 2112 | } 2113 | , { 2114 | "box" : { 2115 | "fontname" : "Arial Bold", 2116 | "fontsize" : 10.0, 2117 | "id" : "obj-3", 2118 | "maxclass" : "newobj", 2119 | "numinlets" : 0, 2120 | "numoutlets" : 1, 2121 | "outlettype" : [ "" ], 2122 | "patching_rect" : [ 30.0, 210.0, 89.0, 20.0 ], 2123 | "presentation_rect" : [ 30.0, 210.0, 89.0, 20.0 ], 2124 | "style" : "", 2125 | "text" : "r ---play_buffer" 2126 | } 2127 | 2128 | } 2129 | , { 2130 | "box" : { 2131 | "fontname" : "Arial Bold", 2132 | "fontsize" : 10.0, 2133 | "id" : "obj-34", 2134 | "maxclass" : "newobj", 2135 | "numinlets" : 2, 2136 | "numoutlets" : 1, 2137 | "outlettype" : [ "int" ], 2138 | "patching_rect" : [ 375.0, 135.0, 32.5, 20.0 ], 2139 | "presentation_rect" : [ 375.0, 135.0, 32.5, 20.0 ], 2140 | "style" : "", 2141 | "text" : "+ 1" 2142 | } 2143 | 2144 | } 2145 | , { 2146 | "box" : { 2147 | "fontname" : "Arial Bold", 2148 | "fontsize" : 10.0, 2149 | "id" : "obj-30", 2150 | "maxclass" : "newobj", 2151 | "numinlets" : 0, 2152 | "numoutlets" : 1, 2153 | "outlettype" : [ "" ], 2154 | "patching_rect" : [ 375.0, 60.0, 65.0, 20.0 ], 2155 | "presentation_rect" : [ 375.0, 60.0, 65.0, 20.0 ], 2156 | "style" : "", 2157 | "text" : "r ---overdub" 2158 | } 2159 | 2160 | } 2161 | , { 2162 | "box" : { 2163 | "fontface" : 0, 2164 | "fontname" : "Arial Bold", 2165 | "fontsize" : 10.0, 2166 | "id" : "obj-2", 2167 | "maxclass" : "number~", 2168 | "mode" : 2, 2169 | "numinlets" : 2, 2170 | "numoutlets" : 2, 2171 | "outlettype" : [ "signal", "float" ], 2172 | "patching_rect" : [ 480.0, 120.0, 92.0, 20.0 ], 2173 | "presentation_rect" : [ 480.0, 120.0, 92.0, 20.0 ], 2174 | "sig" : 0.0, 2175 | "style" : "" 2176 | } 2177 | 2178 | } 2179 | , { 2180 | "box" : { 2181 | "fontname" : "Arial Bold", 2182 | "fontsize" : 10.0, 2183 | "id" : "obj-39", 2184 | "maxclass" : "newobj", 2185 | "numinlets" : 2, 2186 | "numoutlets" : 4, 2187 | "outlettype" : [ "signal", "signal", "list", "list" ], 2188 | "patching_rect" : [ 120.0, 195.0, 139.0, 20.0 ], 2189 | "presentation_rect" : [ 120.0, 195.0, 139.0, 20.0 ], 2190 | "style" : "", 2191 | "text" : "omx.peaklim~" 2192 | } 2193 | 2194 | } 2195 | , { 2196 | "box" : { 2197 | "fontname" : "Arial Bold", 2198 | "fontsize" : 10.0, 2199 | "id" : "obj-75", 2200 | "maxclass" : "newobj", 2201 | "numinlets" : 1, 2202 | "numoutlets" : 1, 2203 | "outlettype" : [ "signal" ], 2204 | "patching_rect" : [ 420.0, 150.0, 42.0, 20.0 ], 2205 | "presentation_rect" : [ 420.0, 150.0, 42.0, 20.0 ], 2206 | "style" : "", 2207 | "text" : "sig~ -1" 2208 | } 2209 | 2210 | } 2211 | , { 2212 | "box" : { 2213 | "fontname" : "Arial Bold", 2214 | "fontsize" : 10.0, 2215 | "id" : "obj-43", 2216 | "maxclass" : "newobj", 2217 | "numinlets" : 3, 2218 | "numoutlets" : 1, 2219 | "outlettype" : [ "signal" ], 2220 | "patching_rect" : [ 375.0, 180.0, 108.0, 20.0 ], 2221 | "presentation_rect" : [ 375.0, 180.0, 108.0, 20.0 ], 2222 | "style" : "", 2223 | "text" : "selector~ 2" 2224 | } 2225 | 2226 | } 2227 | , { 2228 | "box" : { 2229 | "fontname" : "Arial Bold", 2230 | "fontsize" : 10.0, 2231 | "id" : "obj-4", 2232 | "maxclass" : "newobj", 2233 | "numinlets" : 3, 2234 | "numoutlets" : 0, 2235 | "patching_rect" : [ 120.0, 270.0, 101.0, 20.0 ], 2236 | "presentation_rect" : [ 120.0, 270.0, 101.0, 20.0 ], 2237 | "style" : "", 2238 | "text" : "poke~ ---bufDirac 1" 2239 | } 2240 | 2241 | } 2242 | , { 2243 | "box" : { 2244 | "comment" : "", 2245 | "id" : "obj-453", 2246 | "index" : 1, 2247 | "maxclass" : "inlet", 2248 | "numinlets" : 0, 2249 | "numoutlets" : 1, 2250 | "outlettype" : [ "signal" ], 2251 | "patching_rect" : [ 120.0, 150.0, 25.0, 25.0 ], 2252 | "presentation_rect" : [ 120.0, 150.0, 25.0, 25.0 ], 2253 | "style" : "" 2254 | } 2255 | 2256 | } 2257 | , { 2258 | "box" : { 2259 | "fontname" : "Arial Bold", 2260 | "fontsize" : 10.0, 2261 | "id" : "obj-1", 2262 | "maxclass" : "message", 2263 | "numinlets" : 2, 2264 | "numoutlets" : 1, 2265 | "outlettype" : [ "" ], 2266 | "patching_rect" : [ 30.0, 240.0, 50.0, 20.0 ], 2267 | "presentation_rect" : [ 30.0, 240.0, 50.0, 20.0 ], 2268 | "style" : "", 2269 | "text" : "set $1" 2270 | } 2271 | 2272 | } 2273 | ], 2274 | "lines" : [ { 2275 | "patchline" : { 2276 | "destination" : [ "obj-4", 0 ], 2277 | "midpoints" : [ 39.5, 265.5, 129.5, 265.5 ], 2278 | "order" : 1, 2279 | "source" : [ "obj-1", 0 ] 2280 | } 2281 | 2282 | } 2283 | , { 2284 | "patchline" : { 2285 | "destination" : [ "obj-5", 0 ], 2286 | "midpoints" : [ 39.5, 265.5, 234.5, 265.5 ], 2287 | "order" : 0, 2288 | "source" : [ "obj-1", 0 ] 2289 | } 2290 | 2291 | } 2292 | , { 2293 | "patchline" : { 2294 | "destination" : [ "obj-1", 0 ], 2295 | "source" : [ "obj-3", 0 ] 2296 | } 2297 | 2298 | } 2299 | , { 2300 | "patchline" : { 2301 | "destination" : [ "obj-64", 0 ], 2302 | "source" : [ "obj-30", 0 ] 2303 | } 2304 | 2305 | } 2306 | , { 2307 | "patchline" : { 2308 | "destination" : [ "obj-43", 0 ], 2309 | "source" : [ "obj-34", 0 ] 2310 | } 2311 | 2312 | } 2313 | , { 2314 | "patchline" : { 2315 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 2316 | "destination" : [ "obj-4", 0 ], 2317 | "midpoints" : [ 129.5, 262.5, 129.5, 262.5 ], 2318 | "source" : [ "obj-39", 0 ] 2319 | } 2320 | 2321 | } 2322 | , { 2323 | "patchline" : { 2324 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 2325 | "destination" : [ "obj-5", 0 ], 2326 | "midpoints" : [ 169.5, 256.0, 234.5, 256.0 ], 2327 | "source" : [ "obj-39", 1 ] 2328 | } 2329 | 2330 | } 2331 | , { 2332 | "patchline" : { 2333 | "color" : [ 0.0, 0.25098, 1.0, 1.0 ], 2334 | "destination" : [ "obj-4", 1 ], 2335 | "midpoints" : [ 384.5, 256.0, 170.5, 256.0 ], 2336 | "order" : 2, 2337 | "source" : [ "obj-43", 0 ] 2338 | } 2339 | 2340 | } 2341 | , { 2342 | "patchline" : { 2343 | "color" : [ 0.0, 0.25098, 1.0, 1.0 ], 2344 | "destination" : [ "obj-5", 1 ], 2345 | "midpoints" : [ 384.5, 256.5, 275.5, 256.5 ], 2346 | "order" : 1, 2347 | "source" : [ "obj-43", 0 ] 2348 | } 2349 | 2350 | } 2351 | , { 2352 | "patchline" : { 2353 | "color" : [ 0.0, 0.25098, 1.0, 1.0 ], 2354 | "destination" : [ "obj-63", 0 ], 2355 | "order" : 0, 2356 | "source" : [ "obj-43", 0 ] 2357 | } 2358 | 2359 | } 2360 | , { 2361 | "patchline" : { 2362 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 2363 | "destination" : [ "obj-39", 0 ], 2364 | "source" : [ "obj-453", 0 ] 2365 | } 2366 | 2367 | } 2368 | , { 2369 | "patchline" : { 2370 | "color" : [ 0.0, 0.219608, 0.870588, 1.0 ], 2371 | "destination" : [ "obj-2", 0 ], 2372 | "order" : 0, 2373 | "source" : [ "obj-59", 0 ] 2374 | } 2375 | 2376 | } 2377 | , { 2378 | "patchline" : { 2379 | "color" : [ 0.0, 0.219608, 0.870588, 1.0 ], 2380 | "destination" : [ "obj-43", 2 ], 2381 | "midpoints" : [ 474.5, 140.0, 473.5, 140.0 ], 2382 | "order" : 1, 2383 | "source" : [ "obj-59", 0 ] 2384 | } 2385 | 2386 | } 2387 | , { 2388 | "patchline" : { 2389 | "color" : [ 0.0, 0.25098, 1.0, 1.0 ], 2390 | "destination" : [ "obj-59", 0 ], 2391 | "source" : [ "obj-6", 0 ] 2392 | } 2393 | 2394 | } 2395 | , { 2396 | "patchline" : { 2397 | "destination" : [ "obj-34", 0 ], 2398 | "source" : [ "obj-64", 0 ] 2399 | } 2400 | 2401 | } 2402 | , { 2403 | "patchline" : { 2404 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 2405 | "destination" : [ "obj-39", 1 ], 2406 | "source" : [ "obj-7", 0 ] 2407 | } 2408 | 2409 | } 2410 | , { 2411 | "patchline" : { 2412 | "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], 2413 | "destination" : [ "obj-43", 1 ], 2414 | "source" : [ "obj-75", 0 ] 2415 | } 2416 | 2417 | } 2418 | ] 2419 | } 2420 | , 2421 | "patching_rect" : [ 146.0, 567.250244, 94.0, 20.0 ], 2422 | "presentation_rect" : [ 146.0, 567.250244, 94.0, 20.0 ], 2423 | "saved_object_attributes" : { 2424 | "description" : "", 2425 | "digest" : "", 2426 | "fontname" : "Arial Bold", 2427 | "fontsize" : 10.0, 2428 | "globalpatchername" : "", 2429 | "style" : "", 2430 | "tags" : "" 2431 | } 2432 | , 2433 | "style" : "", 2434 | "text" : "p OverdubEngine" 2435 | } 2436 | 2437 | } 2438 | , { 2439 | "box" : { 2440 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 2441 | "fontname" : "Arial Bold", 2442 | "fontsize" : 10.0, 2443 | "id" : "obj-452", 2444 | "maxclass" : "newobj", 2445 | "numinlets" : 2, 2446 | "numoutlets" : 0, 2447 | "patcher" : { 2448 | "fileversion" : 1, 2449 | "appversion" : { 2450 | "major" : 8, 2451 | "minor" : 0, 2452 | "revision" : 0, 2453 | "architecture" : "x64", 2454 | "modernui" : 1 2455 | } 2456 | , 2457 | "rect" : [ 151.0, 79.0, 1397.0, 830.0 ], 2458 | "bglocked" : 0, 2459 | "openinpresentation" : 0, 2460 | "default_fontsize" : 10.0, 2461 | "default_fontface" : 0, 2462 | "default_fontname" : "Arial Bold", 2463 | "gridonopen" : 1, 2464 | "gridsize" : [ 15.0, 15.0 ], 2465 | "gridsnaponopen" : 1, 2466 | "objectsnaponopen" : 1, 2467 | "statusbarvisible" : 2, 2468 | "toolbarvisible" : 1, 2469 | "lefttoolbarpinned" : 0, 2470 | "toptoolbarpinned" : 0, 2471 | "righttoolbarpinned" : 0, 2472 | "bottomtoolbarpinned" : 0, 2473 | "toolbars_unpinned_last_save" : 0, 2474 | "tallnewobj" : 0, 2475 | "boxanimatetime" : 200, 2476 | "enablehscroll" : 1, 2477 | "enablevscroll" : 1, 2478 | "devicewidth" : 0.0, 2479 | "description" : "", 2480 | "digest" : "", 2481 | "tags" : "", 2482 | "style" : "", 2483 | "subpatcher_template" : "", 2484 | "boxes" : [ { 2485 | "box" : { 2486 | "fontname" : "Arial Bold", 2487 | "fontsize" : 10.0, 2488 | "id" : "obj-8", 2489 | "maxclass" : "newobj", 2490 | "numinlets" : 3, 2491 | "numoutlets" : 0, 2492 | "patching_rect" : [ 615.0, 495.0, 101.0, 20.0 ], 2493 | "presentation_rect" : [ 615.0, 495.0, 101.0, 20.0 ], 2494 | "style" : "", 2495 | "text" : "poke~ ---bufDirac 2" 2496 | } 2497 | 2498 | } 2499 | , { 2500 | "box" : { 2501 | "comment" : "", 2502 | "id" : "obj-5", 2503 | "index" : 2, 2504 | "maxclass" : "inlet", 2505 | "numinlets" : 0, 2506 | "numoutlets" : 1, 2507 | "outlettype" : [ "signal" ], 2508 | "patching_rect" : [ 615.0, 435.0, 25.0, 25.0 ], 2509 | "presentation_rect" : [ 615.0, 435.0, 25.0, 25.0 ], 2510 | "style" : "" 2511 | } 2512 | 2513 | } 2514 | , { 2515 | "box" : { 2516 | "id" : "obj-7", 2517 | "maxclass" : "button", 2518 | "numinlets" : 1, 2519 | "numoutlets" : 1, 2520 | "outlettype" : [ "bang" ], 2521 | "patching_rect" : [ 165.0, 180.0, 20.0, 20.0 ], 2522 | "presentation_rect" : [ 165.0, 180.0, 20.0, 20.0 ], 2523 | "style" : "" 2524 | } 2525 | 2526 | } 2527 | , { 2528 | "box" : { 2529 | "fontname" : "Arial Bold", 2530 | "fontsize" : 10.0, 2531 | "id" : "obj-3", 2532 | "maxclass" : "newobj", 2533 | "numinlets" : 2, 2534 | "numoutlets" : 2, 2535 | "outlettype" : [ "bang", "" ], 2536 | "patching_rect" : [ 165.0, 135.0, 33.0, 20.0 ], 2537 | "presentation_rect" : [ 165.0, 135.0, 33.0, 20.0 ], 2538 | "style" : "", 2539 | "text" : "sel 0" 2540 | } 2541 | 2542 | } 2543 | , { 2544 | "box" : { 2545 | "fontname" : "Arial Bold", 2546 | "fontsize" : 10.0, 2547 | "id" : "obj-23", 2548 | "maxclass" : "comment", 2549 | "numinlets" : 1, 2550 | "numoutlets" : 0, 2551 | "patching_rect" : [ 1120.5, 184.0, 164.5, 18.0 ], 2552 | "presentation_rect" : [ 1120.5, 184.0, 164.5, 18.0 ], 2553 | "style" : "", 2554 | "text" : "Reset Line / Start Counting Size" 2555 | } 2556 | 2557 | } 2558 | , { 2559 | "box" : { 2560 | "fontname" : "Arial Bold", 2561 | "fontsize" : 10.0, 2562 | "id" : "obj-22", 2563 | "maxclass" : "comment", 2564 | "numinlets" : 1, 2565 | "numoutlets" : 0, 2566 | "patching_rect" : [ 823.5, 184.0, 88.5, 18.0 ], 2567 | "presentation_rect" : [ 823.5, 184.0, 88.5, 18.0 ], 2568 | "style" : "", 2569 | "text" : "Restart Count~" 2570 | } 2571 | 2572 | } 2573 | , { 2574 | "box" : { 2575 | "fontname" : "Arial Bold", 2576 | "fontsize" : 10.0, 2577 | "id" : "obj-21", 2578 | "maxclass" : "comment", 2579 | "numinlets" : 1, 2580 | "numoutlets" : 0, 2581 | "patching_rect" : [ 509.5, 184.0, 66.0, 18.0 ], 2582 | "presentation_rect" : [ 509.5, 184.0, 66.0, 18.0 ], 2583 | "style" : "", 2584 | "text" : "Poke On/Off" 2585 | } 2586 | 2587 | } 2588 | , { 2589 | "box" : { 2590 | "fontname" : "Arial Bold", 2591 | "fontsize" : 10.0, 2592 | "id" : "obj-19", 2593 | "linecount" : 2, 2594 | "maxclass" : "comment", 2595 | "numinlets" : 1, 2596 | "numoutlets" : 0, 2597 | "patching_rect" : [ 235.0, 173.0, 99.0, 29.0 ], 2598 | "presentation_linecount" : 2, 2599 | "presentation_rect" : [ 235.0, 173.0, 99.0, 29.0 ], 2600 | "style" : "", 2601 | "text" : "Update Looplength" 2602 | } 2603 | 2604 | } 2605 | , { 2606 | "box" : { 2607 | "id" : "obj-17", 2608 | "maxclass" : "button", 2609 | "numinlets" : 1, 2610 | "numoutlets" : 1, 2611 | "outlettype" : [ "bang" ], 2612 | "patching_rect" : [ 911.5, 504.0, 20.0, 20.0 ], 2613 | "presentation_rect" : [ 911.5, 504.0, 20.0, 20.0 ], 2614 | "style" : "" 2615 | } 2616 | 2617 | } 2618 | , { 2619 | "box" : { 2620 | "fontname" : "Arial Bold", 2621 | "fontsize" : 10.0, 2622 | "id" : "obj-13", 2623 | "maxclass" : "newobj", 2624 | "numinlets" : 1, 2625 | "numoutlets" : 0, 2626 | "patcher" : { 2627 | "fileversion" : 1, 2628 | "appversion" : { 2629 | "major" : 8, 2630 | "minor" : 0, 2631 | "revision" : 0, 2632 | "architecture" : "x64", 2633 | "modernui" : 1 2634 | } 2635 | , 2636 | "rect" : [ 570.0, 219.0, 640.0, 480.0 ], 2637 | "bglocked" : 0, 2638 | "openinpresentation" : 0, 2639 | "default_fontsize" : 10.0, 2640 | "default_fontface" : 0, 2641 | "default_fontname" : "Arial Bold", 2642 | "gridonopen" : 1, 2643 | "gridsize" : [ 15.0, 15.0 ], 2644 | "gridsnaponopen" : 1, 2645 | "objectsnaponopen" : 1, 2646 | "statusbarvisible" : 2, 2647 | "toolbarvisible" : 1, 2648 | "lefttoolbarpinned" : 0, 2649 | "toptoolbarpinned" : 0, 2650 | "righttoolbarpinned" : 0, 2651 | "bottomtoolbarpinned" : 0, 2652 | "toolbars_unpinned_last_save" : 0, 2653 | "tallnewobj" : 0, 2654 | "boxanimatetime" : 200, 2655 | "enablehscroll" : 1, 2656 | "enablevscroll" : 1, 2657 | "devicewidth" : 0.0, 2658 | "description" : "", 2659 | "digest" : "", 2660 | "tags" : "", 2661 | "style" : "", 2662 | "subpatcher_template" : "", 2663 | "boxes" : [ { 2664 | "box" : { 2665 | "fontname" : "Arial Bold", 2666 | "fontsize" : 10.0, 2667 | "id" : "obj-16", 2668 | "maxclass" : "newobj", 2669 | "numinlets" : 1, 2670 | "numoutlets" : 0, 2671 | "patching_rect" : [ 75.0, 375.0, 88.0, 20.0 ], 2672 | "presentation_rect" : [ 75.0, 375.0, 88.0, 20.0 ], 2673 | "style" : "", 2674 | "text" : "s ---reset_tempo" 2675 | } 2676 | 2677 | } 2678 | , { 2679 | "box" : { 2680 | "fontname" : "Arial Bold", 2681 | "fontsize" : 10.0, 2682 | "id" : "obj-24", 2683 | "maxclass" : "message", 2684 | "numinlets" : 2, 2685 | "numoutlets" : 1, 2686 | "outlettype" : [ "" ], 2687 | "patching_rect" : [ 465.0, 315.0, 32.5, 20.0 ], 2688 | "presentation_rect" : [ 465.0, 315.0, 32.5, 20.0 ], 2689 | "style" : "", 2690 | "text" : "0" 2691 | } 2692 | 2693 | } 2694 | , { 2695 | "box" : { 2696 | "fontname" : "Arial Bold", 2697 | "fontsize" : 10.0, 2698 | "id" : "obj-22", 2699 | "maxclass" : "newobj", 2700 | "numinlets" : 1, 2701 | "numoutlets" : 0, 2702 | "patching_rect" : [ 60.0, 195.0, 93.0, 20.0 ], 2703 | "presentation_rect" : [ 60.0, 195.0, 93.0, 20.0 ], 2704 | "style" : "", 2705 | "text" : "s ---formant_post" 2706 | } 2707 | 2708 | } 2709 | , { 2710 | "box" : { 2711 | "fontname" : "Arial Bold", 2712 | "fontsize" : 10.0, 2713 | "id" : "obj-20", 2714 | "linecount" : 2, 2715 | "maxclass" : "comment", 2716 | "numinlets" : 1, 2717 | "numoutlets" : 0, 2718 | "patching_rect" : [ 465.0, 255.0, 60.0, 29.0 ], 2719 | "presentation_linecount" : 2, 2720 | "presentation_rect" : [ 465.0, 255.0, 60.0, 29.0 ], 2721 | "style" : "", 2722 | "text" : "Turn off First Loop" 2723 | } 2724 | 2725 | } 2726 | , { 2727 | "box" : { 2728 | "fontname" : "Arial Bold", 2729 | "fontsize" : 10.0, 2730 | "id" : "obj-15", 2731 | "maxclass" : "newobj", 2732 | "numinlets" : 1, 2733 | "numoutlets" : 0, 2734 | "patching_rect" : [ 135.0, 225.0, 66.0, 20.0 ], 2735 | "presentation_rect" : [ 135.0, 225.0, 66.0, 20.0 ], 2736 | "style" : "", 2737 | "text" : "s ---formant" 2738 | } 2739 | 2740 | } 2741 | , { 2742 | "box" : { 2743 | "fontname" : "Arial Bold", 2744 | "fontsize" : 10.0, 2745 | "id" : "obj-9", 2746 | "maxclass" : "newobj", 2747 | "numinlets" : 1, 2748 | "numoutlets" : 0, 2749 | "patching_rect" : [ 465.0, 345.0, 74.0, 20.0 ], 2750 | "presentation_rect" : [ 465.0, 345.0, 74.0, 20.0 ], 2751 | "style" : "", 2752 | "text" : "s ---first_loop" 2753 | } 2754 | 2755 | } 2756 | , { 2757 | "box" : { 2758 | "fontname" : "Arial Bold", 2759 | "fontsize" : 10.0, 2760 | "id" : "obj-1", 2761 | "maxclass" : "newobj", 2762 | "numinlets" : 1, 2763 | "numoutlets" : 0, 2764 | "patching_rect" : [ 180.0, 165.0, 64.0, 20.0 ], 2765 | "presentation_rect" : [ 180.0, 165.0, 64.0, 20.0 ], 2766 | "style" : "", 2767 | "text" : "s ---reverse" 2768 | } 2769 | 2770 | } 2771 | , { 2772 | "box" : { 2773 | "fontname" : "Arial Bold", 2774 | "fontsize" : 10.0, 2775 | "id" : "obj-6", 2776 | "maxclass" : "newobj", 2777 | "numinlets" : 1, 2778 | "numoutlets" : 0, 2779 | "patching_rect" : [ 60.0, 180.0, 84.0, 20.0 ], 2780 | "presentation_rect" : [ 60.0, 180.0, 84.0, 20.0 ], 2781 | "style" : "", 2782 | "text" : "s ---speed_post" 2783 | } 2784 | 2785 | } 2786 | , { 2787 | "box" : { 2788 | "fontname" : "Arial Bold", 2789 | "fontsize" : 10.0, 2790 | "id" : "obj-4", 2791 | "maxclass" : "newobj", 2792 | "numinlets" : 1, 2793 | "numoutlets" : 0, 2794 | "patching_rect" : [ 60.0, 165.0, 79.0, 20.0 ], 2795 | "presentation_rect" : [ 60.0, 165.0, 79.0, 20.0 ], 2796 | "style" : "", 2797 | "text" : "s ---pitch_post" 2798 | } 2799 | 2800 | } 2801 | , { 2802 | "box" : { 2803 | "fontname" : "Arial Bold", 2804 | "fontsize" : 10.0, 2805 | "id" : "obj-3", 2806 | "maxclass" : "message", 2807 | "numinlets" : 2, 2808 | "numoutlets" : 1, 2809 | "outlettype" : [ "" ], 2810 | "patching_rect" : [ 105.0, 135.0, 32.5, 20.0 ], 2811 | "presentation_rect" : [ 105.0, 135.0, 32.5, 20.0 ], 2812 | "style" : "", 2813 | "text" : "1" 2814 | } 2815 | 2816 | } 2817 | , { 2818 | "box" : { 2819 | "fontname" : "Arial Bold", 2820 | "fontsize" : 10.0, 2821 | "id" : "obj-14", 2822 | "linecount" : 2, 2823 | "maxclass" : "comment", 2824 | "numinlets" : 1, 2825 | "numoutlets" : 0, 2826 | "patching_rect" : [ 114.875, 256.0, 57.0, 29.0 ], 2827 | "presentation_linecount" : 2, 2828 | "presentation_rect" : [ 114.875, 256.0, 57.0, 29.0 ], 2829 | "style" : "", 2830 | "text" : "x Buff_Rec" 2831 | } 2832 | 2833 | } 2834 | , { 2835 | "box" : { 2836 | "fontname" : "Arial Bold", 2837 | "fontsize" : 10.0, 2838 | "id" : "obj-13", 2839 | "linecount" : 3, 2840 | "maxclass" : "comment", 2841 | "numinlets" : 1, 2842 | "numoutlets" : 0, 2843 | "patching_rect" : [ 202.75, 244.0, 57.0, 40.0 ], 2844 | "presentation_linecount" : 3, 2845 | "presentation_rect" : [ 202.75, 244.0, 57.0, 40.0 ], 2846 | "style" : "", 2847 | "text" : "Buff_Rec <-> Buff_Play" 2848 | } 2849 | 2850 | } 2851 | , { 2852 | "box" : { 2853 | "fontname" : "Arial Bold", 2854 | "fontsize" : 10.0, 2855 | "id" : "obj-11", 2856 | "maxclass" : "comment", 2857 | "numinlets" : 1, 2858 | "numoutlets" : 0, 2859 | "patching_rect" : [ 290.625, 267.0, 57.0, 18.0 ], 2860 | "presentation_rect" : [ 290.625, 267.0, 57.0, 18.0 ], 2861 | "style" : "", 2862 | "text" : "Deselect" 2863 | } 2864 | 2865 | } 2866 | , { 2867 | "box" : { 2868 | "fontname" : "Arial Bold", 2869 | "fontsize" : 10.0, 2870 | "id" : "obj-10", 2871 | "linecount" : 2, 2872 | "maxclass" : "comment", 2873 | "numinlets" : 1, 2874 | "numoutlets" : 0, 2875 | "patching_rect" : [ 378.5, 256.0, 57.0, 29.0 ], 2876 | "presentation_linecount" : 2, 2877 | "presentation_rect" : [ 378.5, 256.0, 57.0, 29.0 ], 2878 | "style" : "", 2879 | "text" : "Trim Buff_Rec" 2880 | } 2881 | 2882 | } 2883 | , { 2884 | "box" : { 2885 | "fontname" : "Arial Bold", 2886 | "fontsize" : 10.0, 2887 | "id" : "obj-8", 2888 | "maxclass" : "message", 2889 | "numinlets" : 2, 2890 | "numoutlets" : 1, 2891 | "outlettype" : [ "" ], 2892 | "patching_rect" : [ 378.5, 331.0, 33.0, 20.0 ], 2893 | "presentation_rect" : [ 378.5, 331.0, 33.0, 20.0 ], 2894 | "style" : "", 2895 | "text" : "crop" 2896 | } 2897 | 2898 | } 2899 | , { 2900 | "box" : { 2901 | "fontname" : "Arial", 2902 | "fontsize" : 12.0, 2903 | "id" : "obj-5", 2904 | "maxclass" : "comment", 2905 | "numinlets" : 1, 2906 | "numoutlets" : 0, 2907 | "patching_rect" : [ 270.0, 60.0, 121.0, 20.0 ], 2908 | "presentation_rect" : [ 270.0, 60.0, 121.0, 20.0 ], 2909 | "style" : "", 2910 | "text" : "Play from beginning" 2911 | } 2912 | 2913 | } 2914 | , { 2915 | "box" : { 2916 | "fontname" : "Arial", 2917 | "fontsize" : 12.0, 2918 | "id" : "obj-2", 2919 | "linecount" : 2, 2920 | "maxclass" : "comment", 2921 | "numinlets" : 1, 2922 | "numoutlets" : 0, 2923 | "patching_rect" : [ 120.0, 45.0, 88.0, 33.0 ], 2924 | "presentation_linecount" : 2, 2925 | "presentation_rect" : [ 120.0, 45.0, 88.0, 33.0 ], 2926 | "style" : "", 2927 | "text" : "reset speed/pitch" 2928 | } 2929 | 2930 | } 2931 | , { 2932 | "box" : { 2933 | "fontname" : "Arial Bold", 2934 | "fontsize" : 10.0, 2935 | "id" : "obj-21", 2936 | "maxclass" : "message", 2937 | "numinlets" : 2, 2938 | "numoutlets" : 1, 2939 | "outlettype" : [ "" ], 2940 | "patching_rect" : [ 290.625, 331.0, 37.0, 20.0 ], 2941 | "presentation_rect" : [ 290.625, 331.0, 37.0, 20.0 ], 2942 | "style" : "", 2943 | "text" : "undo" 2944 | } 2945 | 2946 | } 2947 | , { 2948 | "box" : { 2949 | "fontname" : "Arial Bold", 2950 | "fontsize" : 10.0, 2951 | "id" : "obj-19", 2952 | "maxclass" : "newobj", 2953 | "numinlets" : 1, 2954 | "numoutlets" : 0, 2955 | "patching_rect" : [ 290.625, 367.0, 84.0, 20.0 ], 2956 | "presentation_rect" : [ 290.625, 367.0, 84.0, 20.0 ], 2957 | "style" : "", 2958 | "text" : "s ---waveform" 2959 | } 2960 | 2961 | } 2962 | , { 2963 | "box" : { 2964 | "fontname" : "Arial Bold", 2965 | "fontsize" : 10.0, 2966 | "id" : "obj-18", 2967 | "maxclass" : "newobj", 2968 | "numinlets" : 1, 2969 | "numoutlets" : 6, 2970 | "outlettype" : [ "int", "bang", "bang", "bang", "bang", "bang" ], 2971 | "patching_rect" : [ 30.0, 285.0, 453.5, 20.0 ], 2972 | "presentation_rect" : [ 30.0, 285.0, 453.5, 20.0 ], 2973 | "style" : "", 2974 | "text" : "t 1 b b b b b" 2975 | } 2976 | 2977 | } 2978 | , { 2979 | "box" : { 2980 | "fontname" : "Arial Bold", 2981 | "fontsize" : 10.0, 2982 | "id" : "obj-17", 2983 | "maxclass" : "newobj", 2984 | "numinlets" : 1, 2985 | "numoutlets" : 0, 2986 | "patching_rect" : [ 114.875, 424.0, 136.0, 20.0 ], 2987 | "presentation_rect" : [ 114.875, 424.0, 136.0, 20.0 ], 2988 | "style" : "", 2989 | "text" : "s ---clear_record_buffer" 2990 | } 2991 | 2992 | } 2993 | , { 2994 | "box" : { 2995 | "fontname" : "Arial Bold", 2996 | "fontsize" : 10.0, 2997 | "id" : "obj-7", 2998 | "maxclass" : "newobj", 2999 | "numinlets" : 1, 3000 | "numoutlets" : 0, 3001 | "patching_rect" : [ 202.75, 399.0, 102.0, 20.0 ], 3002 | "presentation_rect" : [ 202.75, 399.0, 102.0, 20.0 ], 3003 | "style" : "", 3004 | "text" : "s ---switch_buffer" 3005 | } 3006 | 3007 | } 3008 | , { 3009 | "box" : { 3010 | "fontname" : "Arial Bold", 3011 | "fontsize" : 10.0, 3012 | "id" : "obj-257", 3013 | "maxclass" : "newobj", 3014 | "numinlets" : 1, 3015 | "numoutlets" : 0, 3016 | "patching_rect" : [ 151.75, 203.0, 53.0, 20.0 ], 3017 | "presentation_rect" : [ 151.75, 203.0, 53.0, 20.0 ], 3018 | "style" : "", 3019 | "text" : "s ---pitch" 3020 | } 3021 | 3022 | } 3023 | , { 3024 | "box" : { 3025 | "fontname" : "Arial Bold", 3026 | "fontsize" : 10.0, 3027 | "id" : "obj-92", 3028 | "maxclass" : "newobj", 3029 | "numinlets" : 1, 3030 | "numoutlets" : 0, 3031 | "patching_rect" : [ 160.75, 185.0, 58.0, 20.0 ], 3032 | "presentation_rect" : [ 160.75, 185.0, 58.0, 20.0 ], 3033 | "style" : "", 3034 | "text" : "s ---speed" 3035 | } 3036 | 3037 | } 3038 | , { 3039 | "box" : { 3040 | "fontname" : "Arial Bold", 3041 | "fontsize" : 10.0, 3042 | "id" : "obj-238", 3043 | "maxclass" : "newobj", 3044 | "numinlets" : 1, 3045 | "numoutlets" : 0, 3046 | "patching_rect" : [ 27.0, 454.0, 88.0, 20.0 ], 3047 | "presentation_rect" : [ 27.0, 454.0, 88.0, 20.0 ], 3048 | "style" : "", 3049 | "text" : "s ---dirac_enable" 3050 | } 3051 | 3052 | } 3053 | , { 3054 | "box" : { 3055 | "fontname" : "Arial Bold", 3056 | "fontsize" : 10.0, 3057 | "id" : "obj-323", 3058 | "maxclass" : "newobj", 3059 | "numinlets" : 1, 3060 | "numoutlets" : 3, 3061 | "outlettype" : [ "bang", "float", "float" ], 3062 | "patching_rect" : [ 30.0, 90.0, 266.0, 20.0 ], 3063 | "presentation_rect" : [ 30.0, 90.0, 266.0, 20.0 ], 3064 | "style" : "", 3065 | "text" : "t b 0. 0." 3066 | } 3067 | 3068 | } 3069 | , { 3070 | "box" : { 3071 | "fontname" : "Arial Bold", 3072 | "fontsize" : 10.0, 3073 | "id" : "obj-320", 3074 | "maxclass" : "newobj", 3075 | "numinlets" : 1, 3076 | "numoutlets" : 0, 3077 | "patching_rect" : [ 276.5, 135.0, 60.0, 20.0 ], 3078 | "presentation_rect" : [ 276.5, 135.0, 60.0, 20.0 ], 3079 | "style" : "", 3080 | "text" : "s ---dirac" 3081 | } 3082 | 3083 | } 3084 | , { 3085 | "box" : { 3086 | "comment" : "", 3087 | "id" : "obj-12", 3088 | "index" : 1, 3089 | "maxclass" : "inlet", 3090 | "numinlets" : 0, 3091 | "numoutlets" : 1, 3092 | "outlettype" : [ "bang" ], 3093 | "patching_rect" : [ 30.0, 30.0, 25.0, 25.0 ], 3094 | "presentation_rect" : [ 30.0, 30.0, 25.0, 25.0 ], 3095 | "style" : "" 3096 | } 3097 | 3098 | } 3099 | ], 3100 | "lines" : [ { 3101 | "patchline" : { 3102 | "destination" : [ "obj-323", 0 ], 3103 | "source" : [ "obj-12", 0 ] 3104 | } 3105 | 3106 | } 3107 | , { 3108 | "patchline" : { 3109 | "destination" : [ "obj-16", 0 ], 3110 | "order" : 1, 3111 | "source" : [ "obj-18", 1 ] 3112 | } 3113 | 3114 | } 3115 | , { 3116 | "patchline" : { 3117 | "destination" : [ "obj-17", 0 ], 3118 | "order" : 0, 3119 | "source" : [ "obj-18", 1 ] 3120 | } 3121 | 3122 | } 3123 | , { 3124 | "patchline" : { 3125 | "destination" : [ "obj-21", 0 ], 3126 | "source" : [ "obj-18", 3 ] 3127 | } 3128 | 3129 | } 3130 | , { 3131 | "patchline" : { 3132 | "destination" : [ "obj-238", 0 ], 3133 | "source" : [ "obj-18", 0 ] 3134 | } 3135 | 3136 | } 3137 | , { 3138 | "patchline" : { 3139 | "destination" : [ "obj-24", 0 ], 3140 | "source" : [ "obj-18", 5 ] 3141 | } 3142 | 3143 | } 3144 | , { 3145 | "patchline" : { 3146 | "destination" : [ "obj-7", 0 ], 3147 | "source" : [ "obj-18", 2 ] 3148 | } 3149 | 3150 | } 3151 | , { 3152 | "patchline" : { 3153 | "destination" : [ "obj-8", 0 ], 3154 | "source" : [ "obj-18", 4 ] 3155 | } 3156 | 3157 | } 3158 | , { 3159 | "patchline" : { 3160 | "destination" : [ "obj-19", 0 ], 3161 | "source" : [ "obj-21", 0 ] 3162 | } 3163 | 3164 | } 3165 | , { 3166 | "patchline" : { 3167 | "destination" : [ "obj-9", 0 ], 3168 | "source" : [ "obj-24", 0 ] 3169 | } 3170 | 3171 | } 3172 | , { 3173 | "patchline" : { 3174 | "destination" : [ "obj-22", 0 ], 3175 | "order" : 0, 3176 | "source" : [ "obj-3", 0 ] 3177 | } 3178 | 3179 | } 3180 | , { 3181 | "patchline" : { 3182 | "destination" : [ "obj-4", 0 ], 3183 | "order" : 2, 3184 | "source" : [ "obj-3", 0 ] 3185 | } 3186 | 3187 | } 3188 | , { 3189 | "patchline" : { 3190 | "destination" : [ "obj-6", 0 ], 3191 | "order" : 1, 3192 | "source" : [ "obj-3", 0 ] 3193 | } 3194 | 3195 | } 3196 | , { 3197 | "patchline" : { 3198 | "destination" : [ "obj-1", 0 ], 3199 | "order" : 0, 3200 | "source" : [ "obj-323", 1 ] 3201 | } 3202 | 3203 | } 3204 | , { 3205 | "patchline" : { 3206 | "destination" : [ "obj-15", 0 ], 3207 | "order" : 3, 3208 | "source" : [ "obj-323", 1 ] 3209 | } 3210 | 3211 | } 3212 | , { 3213 | "patchline" : { 3214 | "destination" : [ "obj-18", 0 ], 3215 | "source" : [ "obj-323", 0 ] 3216 | } 3217 | 3218 | } 3219 | , { 3220 | "patchline" : { 3221 | "destination" : [ "obj-257", 0 ], 3222 | "order" : 2, 3223 | "source" : [ "obj-323", 1 ] 3224 | } 3225 | 3226 | } 3227 | , { 3228 | "patchline" : { 3229 | "destination" : [ "obj-3", 0 ], 3230 | "order" : 4, 3231 | "source" : [ "obj-323", 1 ] 3232 | } 3233 | 3234 | } 3235 | , { 3236 | "patchline" : { 3237 | "destination" : [ "obj-320", 0 ], 3238 | "source" : [ "obj-323", 2 ] 3239 | } 3240 | 3241 | } 3242 | , { 3243 | "patchline" : { 3244 | "destination" : [ "obj-92", 0 ], 3245 | "order" : 1, 3246 | "source" : [ "obj-323", 1 ] 3247 | } 3248 | 3249 | } 3250 | , { 3251 | "patchline" : { 3252 | "destination" : [ "obj-19", 0 ], 3253 | "source" : [ "obj-8", 0 ] 3254 | } 3255 | 3256 | } 3257 | ] 3258 | } 3259 | , 3260 | "patching_rect" : [ 225.0, 560.0, 72.0, 20.0 ], 3261 | "presentation_rect" : [ 225.0, 560.0, 72.0, 20.0 ], 3262 | "saved_object_attributes" : { 3263 | "description" : "", 3264 | "digest" : "", 3265 | "fontname" : "Arial Bold", 3266 | "fontsize" : 10.0, 3267 | "globalpatchername" : "", 3268 | "style" : "", 3269 | "tags" : "" 3270 | } 3271 | , 3272 | "style" : "", 3273 | "text" : "p Reinitialize" 3274 | } 3275 | 3276 | } 3277 | , { 3278 | "box" : { 3279 | "fontname" : "Arial Bold", 3280 | "fontsize" : 10.0, 3281 | "id" : "obj-10", 3282 | "maxclass" : "newobj", 3283 | "numinlets" : 2, 3284 | "numoutlets" : 0, 3285 | "patcher" : { 3286 | "fileversion" : 1, 3287 | "appversion" : { 3288 | "major" : 8, 3289 | "minor" : 0, 3290 | "revision" : 0, 3291 | "architecture" : "x64", 3292 | "modernui" : 1 3293 | } 3294 | , 3295 | "rect" : [ 363.0, 282.0, 531.0, 603.0 ], 3296 | "bglocked" : 0, 3297 | "openinpresentation" : 0, 3298 | "default_fontsize" : 12.0, 3299 | "default_fontface" : 0, 3300 | "default_fontname" : "Arial", 3301 | "gridonopen" : 1, 3302 | "gridsize" : [ 15.0, 15.0 ], 3303 | "gridsnaponopen" : 1, 3304 | "objectsnaponopen" : 1, 3305 | "statusbarvisible" : 2, 3306 | "toolbarvisible" : 1, 3307 | "lefttoolbarpinned" : 0, 3308 | "toptoolbarpinned" : 0, 3309 | "righttoolbarpinned" : 0, 3310 | "bottomtoolbarpinned" : 0, 3311 | "toolbars_unpinned_last_save" : 0, 3312 | "tallnewobj" : 0, 3313 | "boxanimatetime" : 200, 3314 | "enablehscroll" : 1, 3315 | "enablevscroll" : 1, 3316 | "devicewidth" : 0.0, 3317 | "description" : "", 3318 | "digest" : "", 3319 | "tags" : "", 3320 | "style" : "", 3321 | "subpatcher_template" : "", 3322 | "boxes" : [ { 3323 | "box" : { 3324 | "fontname" : "Arial", 3325 | "fontsize" : 12.0, 3326 | "id" : "obj-21", 3327 | "maxclass" : "comment", 3328 | "numinlets" : 1, 3329 | "numoutlets" : 0, 3330 | "patching_rect" : [ 75.0, 480.0, 100.0, 20.0 ], 3331 | "presentation_rect" : [ 75.0, 480.0, 100.0, 20.0 ], 3332 | "style" : "", 3333 | "text" : "Set New Length" 3334 | } 3335 | 3336 | } 3337 | , { 3338 | "box" : { 3339 | "fontname" : "Arial", 3340 | "fontsize" : 12.0, 3341 | "id" : "obj-19", 3342 | "maxclass" : "comment", 3343 | "numinlets" : 1, 3344 | "numoutlets" : 0, 3345 | "patching_rect" : [ 375.0, 30.0, 110.0, 20.0 ], 3346 | "presentation_rect" : [ 375.0, 30.0, 110.0, 20.0 ], 3347 | "style" : "", 3348 | "text" : "Reset Length" 3349 | } 3350 | 3351 | } 3352 | , { 3353 | "box" : { 3354 | "fontname" : "Arial Bold", 3355 | "fontsize" : 10.0, 3356 | "id" : "obj-17", 3357 | "maxclass" : "newobj", 3358 | "numinlets" : 1, 3359 | "numoutlets" : 0, 3360 | "patching_rect" : [ 375.0, 150.0, 101.0, 18.0 ], 3361 | "presentation_rect" : [ 375.0, 150.0, 101.0, 18.0 ], 3362 | "style" : "", 3363 | "text" : "s ---looplength_ms" 3364 | } 3365 | 3366 | } 3367 | , { 3368 | "box" : { 3369 | "fontname" : "Arial Bold", 3370 | "fontsize" : 10.0, 3371 | "id" : "obj-16", 3372 | "maxclass" : "message", 3373 | "numinlets" : 2, 3374 | "numoutlets" : 1, 3375 | "outlettype" : [ "" ], 3376 | "patching_rect" : [ 375.0, 90.0, 40.0, 16.0 ], 3377 | "presentation_rect" : [ 375.0, 90.0, 40.0, 16.0 ], 3378 | "style" : "", 3379 | "text" : "set $1" 3380 | } 3381 | 3382 | } 3383 | , { 3384 | "box" : { 3385 | "fontname" : "Arial Bold", 3386 | "fontsize" : 10.0, 3387 | "id" : "obj-14", 3388 | "maxclass" : "newobj", 3389 | "numinlets" : 0, 3390 | "numoutlets" : 1, 3391 | "outlettype" : [ "" ], 3392 | "patching_rect" : [ 375.0, 60.0, 114.0, 18.0 ], 3393 | "presentation_rect" : [ 375.0, 60.0, 114.0, 18.0 ], 3394 | "style" : "", 3395 | "text" : "r ---empty_looplength" 3396 | } 3397 | 3398 | } 3399 | , { 3400 | "box" : { 3401 | "fontname" : "Arial Bold", 3402 | "fontsize" : 10.0, 3403 | "id" : "obj-13", 3404 | "maxclass" : "message", 3405 | "numinlets" : 2, 3406 | "numoutlets" : 1, 3407 | "outlettype" : [ "" ], 3408 | "patching_rect" : [ 375.0, 120.0, 50.0, 16.0 ], 3409 | "presentation_rect" : [ 375.0, 120.0, 50.0, 16.0 ], 3410 | "style" : "", 3411 | "text" : "30000." 3412 | } 3413 | 3414 | } 3415 | , { 3416 | "box" : { 3417 | "fontname" : "Arial", 3418 | "fontsize" : 12.0, 3419 | "id" : "obj-12", 3420 | "linecount" : 2, 3421 | "maxclass" : "comment", 3422 | "numinlets" : 1, 3423 | "numoutlets" : 0, 3424 | "patching_rect" : [ 75.0, 120.0, 86.0, 34.0 ], 3425 | "presentation_linecount" : 2, 3426 | "presentation_rect" : [ 75.0, 120.0, 86.0, 34.0 ], 3427 | "style" : "", 3428 | "text" : "Don't round if quantize is off" 3429 | } 3430 | 3431 | } 3432 | , { 3433 | "box" : { 3434 | "fontname" : "Arial", 3435 | "fontsize" : 12.0, 3436 | "id" : "obj-11", 3437 | "maxclass" : "newobj", 3438 | "numinlets" : 2, 3439 | "numoutlets" : 2, 3440 | "outlettype" : [ "", "" ], 3441 | "patching_rect" : [ 180.0, 255.0, 44.0, 20.0 ], 3442 | "presentation_rect" : [ 180.0, 255.0, 44.0, 20.0 ], 3443 | "style" : "", 3444 | "text" : "gate 2" 3445 | } 3446 | 3447 | } 3448 | , { 3449 | "box" : { 3450 | "fontname" : "Arial", 3451 | "fontsize" : 12.0, 3452 | "id" : "obj-10", 3453 | "maxclass" : "newobj", 3454 | "numinlets" : 2, 3455 | "numoutlets" : 1, 3456 | "outlettype" : [ "int" ], 3457 | "patching_rect" : [ 90.0, 225.0, 32.5, 20.0 ], 3458 | "presentation_rect" : [ 90.0, 225.0, 32.5, 20.0 ], 3459 | "style" : "", 3460 | "text" : "+ 1" 3461 | } 3462 | 3463 | } 3464 | , { 3465 | "box" : { 3466 | "id" : "obj-7", 3467 | "maxclass" : "toggle", 3468 | "numinlets" : 1, 3469 | "numoutlets" : 1, 3470 | "outlettype" : [ "int" ], 3471 | "parameter_enable" : 0, 3472 | "patching_rect" : [ 90.0, 195.0, 20.0, 20.0 ], 3473 | "presentation_rect" : [ 90.0, 195.0, 20.0, 20.0 ], 3474 | "style" : "" 3475 | } 3476 | 3477 | } 3478 | , { 3479 | "box" : { 3480 | "fontname" : "Arial", 3481 | "fontsize" : 12.0, 3482 | "id" : "obj-2", 3483 | "maxclass" : "newobj", 3484 | "numinlets" : 0, 3485 | "numoutlets" : 1, 3486 | "outlettype" : [ "" ], 3487 | "patching_rect" : [ 90.0, 165.0, 95.0, 20.0 ], 3488 | "presentation_rect" : [ 90.0, 165.0, 95.0, 20.0 ], 3489 | "style" : "", 3490 | "text" : "r ---no_quantize" 3491 | } 3492 | 3493 | } 3494 | , { 3495 | "box" : { 3496 | "fontname" : "Arial Bold", 3497 | "fontsize" : 10.0, 3498 | "id" : "obj-4", 3499 | "maxclass" : "newobj", 3500 | "numinlets" : 1, 3501 | "numoutlets" : 1, 3502 | "outlettype" : [ "" ], 3503 | "patching_rect" : [ 180.0, 423.106201, 113.0, 18.0 ], 3504 | "presentation_rect" : [ 180.0, 423.106201, 113.0, 18.0 ], 3505 | "style" : "", 3506 | "text" : "translate samples ms" 3507 | } 3508 | 3509 | } 3510 | , { 3511 | "box" : { 3512 | "fontname" : "Arial Bold", 3513 | "fontsize" : 10.0, 3514 | "format" : 6, 3515 | "id" : "obj-3", 3516 | "maxclass" : "flonum", 3517 | "numinlets" : 1, 3518 | "numoutlets" : 2, 3519 | "outlettype" : [ "", "bang" ], 3520 | "parameter_enable" : 0, 3521 | "patching_rect" : [ 297.0, 194.0, 47.0, 18.0 ], 3522 | "presentation_rect" : [ 297.0, 194.0, 47.0, 18.0 ], 3523 | "style" : "" 3524 | } 3525 | 3526 | } 3527 | , { 3528 | "box" : { 3529 | "fontname" : "Arial Bold", 3530 | "fontsize" : 10.0, 3531 | "id" : "obj-1", 3532 | "maxclass" : "newobj", 3533 | "numinlets" : 1, 3534 | "numoutlets" : 0, 3535 | "patching_rect" : [ 303.0, 393.0, 117.0, 18.0 ], 3536 | "presentation_rect" : [ 303.0, 393.0, 117.0, 18.0 ], 3537 | "style" : "", 3538 | "text" : "s ---looplength_samps" 3539 | } 3540 | 3541 | } 3542 | , { 3543 | "box" : { 3544 | "fontname" : "Arial Bold", 3545 | "fontsize" : 10.0, 3546 | "id" : "obj-31", 3547 | "maxclass" : "message", 3548 | "numinlets" : 2, 3549 | "numoutlets" : 1, 3550 | "outlettype" : [ "" ], 3551 | "patching_rect" : [ 285.0, 120.0, 37.0, 16.0 ], 3552 | "presentation_rect" : [ 285.0, 120.0, 37.0, 16.0 ], 3553 | "style" : "", 3554 | "text" : "reset" 3555 | } 3556 | 3557 | } 3558 | , { 3559 | "box" : { 3560 | "fontface" : 0, 3561 | "fontname" : "Arial Bold", 3562 | "fontsize" : 10.0, 3563 | "id" : "obj-30", 3564 | "maxclass" : "number~", 3565 | "mode" : 2, 3566 | "numinlets" : 2, 3567 | "numoutlets" : 2, 3568 | "outlettype" : [ "signal", "float" ], 3569 | "patching_rect" : [ 195.0, 180.0, 97.0, 18.0 ], 3570 | "presentation_rect" : [ 195.0, 180.0, 97.0, 18.0 ], 3571 | "sig" : 0.0, 3572 | "style" : "" 3573 | } 3574 | 3575 | } 3576 | , { 3577 | "box" : { 3578 | "fontname" : "Arial Bold", 3579 | "fontsize" : 10.0, 3580 | "format" : 6, 3581 | "id" : "obj-27", 3582 | "maxclass" : "flonum", 3583 | "numinlets" : 1, 3584 | "numoutlets" : 2, 3585 | "outlettype" : [ "", "bang" ], 3586 | "parameter_enable" : 0, 3587 | "patching_rect" : [ 240.0, 285.0, 81.0, 18.0 ], 3588 | "presentation_rect" : [ 240.0, 285.0, 81.0, 18.0 ], 3589 | "style" : "" 3590 | } 3591 | 3592 | } 3593 | , { 3594 | "box" : { 3595 | "fontname" : "Arial Bold", 3596 | "fontsize" : 10.0, 3597 | "format" : 6, 3598 | "id" : "obj-25", 3599 | "maxclass" : "flonum", 3600 | "numinlets" : 1, 3601 | "numoutlets" : 2, 3602 | "outlettype" : [ "", "bang" ], 3603 | "parameter_enable" : 0, 3604 | "patching_rect" : [ 180.0, 452.0, 76.088318, 18.0 ], 3605 | "presentation_rect" : [ 180.0, 452.0, 76.088318, 18.0 ], 3606 | "style" : "" 3607 | } 3608 | 3609 | } 3610 | , { 3611 | "box" : { 3612 | "fontname" : "Arial Bold", 3613 | "fontsize" : 10.0, 3614 | "id" : "obj-240", 3615 | "maxclass" : "newobj", 3616 | "numinlets" : 0, 3617 | "numoutlets" : 1, 3618 | "outlettype" : [ "" ], 3619 | "patching_rect" : [ 240.0, 255.0, 105.0, 18.0 ], 3620 | "presentation_rect" : [ 240.0, 255.0, 105.0, 18.0 ], 3621 | "style" : "", 3622 | "text" : "r ---quantize_samps" 3623 | } 3624 | 3625 | } 3626 | , { 3627 | "box" : { 3628 | "fontname" : "Arial Bold", 3629 | "fontsize" : 10.0, 3630 | "id" : "obj-235", 3631 | "maxclass" : "newobj", 3632 | "numinlets" : 2, 3633 | "numoutlets" : 1, 3634 | "outlettype" : [ "" ], 3635 | "patching_rect" : [ 180.0, 315.0, 79.0, 18.0 ], 3636 | "presentation_rect" : [ 180.0, 315.0, 79.0, 18.0 ], 3637 | "style" : "", 3638 | "text" : "round 1." 3639 | } 3640 | 3641 | } 3642 | , { 3643 | "box" : { 3644 | "fontname" : "Arial Bold", 3645 | "fontsize" : 10.0, 3646 | "id" : "obj-233", 3647 | "linecount" : 3, 3648 | "maxclass" : "comment", 3649 | "numinlets" : 1, 3650 | "numoutlets" : 0, 3651 | "patching_rect" : [ 45.0, 255.0, 102.0, 41.0 ], 3652 | "presentation_linecount" : 3, 3653 | "presentation_rect" : [ 45.0, 255.0, 102.0, 41.0 ], 3654 | "style" : "", 3655 | "text" : "Make sure it is well rounded to the quantization" 3656 | } 3657 | 3658 | } 3659 | , { 3660 | "box" : { 3661 | "fontname" : "Arial Bold", 3662 | "fontsize" : 10.0, 3663 | "format" : 6, 3664 | "id" : "obj-163", 3665 | "maxclass" : "flonum", 3666 | "numinlets" : 1, 3667 | "numoutlets" : 2, 3668 | "outlettype" : [ "", "bang" ], 3669 | "parameter_enable" : 0, 3670 | "patching_rect" : [ 180.0, 356.0, 76.088318, 18.0 ], 3671 | "presentation_rect" : [ 180.0, 356.0, 76.088318, 18.0 ], 3672 | "style" : "" 3673 | } 3674 | 3675 | } 3676 | , { 3677 | "box" : { 3678 | "fontname" : "Arial Bold", 3679 | "fontsize" : 10.0, 3680 | "id" : "obj-150", 3681 | "maxclass" : "newobj", 3682 | "numinlets" : 1, 3683 | "numoutlets" : 0, 3684 | "patching_rect" : [ 180.0, 483.0, 98.0, 18.0 ], 3685 | "presentation_rect" : [ 180.0, 483.0, 98.0, 18.0 ], 3686 | "style" : "", 3687 | "text" : "s ---looplength_ms" 3688 | } 3689 | 3690 | } 3691 | , { 3692 | "box" : { 3693 | "fontname" : "Arial Bold", 3694 | "fontsize" : 10.0, 3695 | "id" : "obj-9", 3696 | "maxclass" : "newobj", 3697 | "numinlets" : 2, 3698 | "numoutlets" : 4, 3699 | "outlettype" : [ "signal", "signal", "float", "float" ], 3700 | "patching_rect" : [ 240.0, 150.0, 76.0, 18.0 ], 3701 | "presentation_rect" : [ 240.0, 150.0, 76.0, 18.0 ], 3702 | "style" : "", 3703 | "text" : "minmax~" 3704 | } 3705 | 3706 | } 3707 | , { 3708 | "box" : { 3709 | "comment" : "", 3710 | "id" : "obj-5", 3711 | "index" : 1, 3712 | "maxclass" : "inlet", 3713 | "numinlets" : 0, 3714 | "numoutlets" : 1, 3715 | "outlettype" : [ "bang" ], 3716 | "patching_rect" : [ 240.0, 90.0, 25.0, 25.0 ], 3717 | "presentation_rect" : [ 240.0, 90.0, 25.0, 25.0 ], 3718 | "style" : "" 3719 | } 3720 | 3721 | } 3722 | , { 3723 | "box" : { 3724 | "comment" : "", 3725 | "id" : "obj-8", 3726 | "index" : 2, 3727 | "maxclass" : "inlet", 3728 | "numinlets" : 0, 3729 | "numoutlets" : 1, 3730 | "outlettype" : [ "bang" ], 3731 | "patching_rect" : [ 285.0, 60.0, 25.0, 25.0 ], 3732 | "presentation_rect" : [ 285.0, 60.0, 25.0, 25.0 ], 3733 | "style" : "" 3734 | } 3735 | 3736 | } 3737 | ], 3738 | "lines" : [ { 3739 | "patchline" : { 3740 | "destination" : [ "obj-11", 0 ], 3741 | "source" : [ "obj-10", 0 ] 3742 | } 3743 | 3744 | } 3745 | , { 3746 | "patchline" : { 3747 | "destination" : [ "obj-163", 0 ], 3748 | "midpoints" : [ 214.5, 342.0, 189.5, 342.0 ], 3749 | "source" : [ "obj-11", 1 ] 3750 | } 3751 | 3752 | } 3753 | , { 3754 | "patchline" : { 3755 | "destination" : [ "obj-235", 0 ], 3756 | "source" : [ "obj-11", 0 ] 3757 | } 3758 | 3759 | } 3760 | , { 3761 | "patchline" : { 3762 | "destination" : [ "obj-17", 0 ], 3763 | "source" : [ "obj-13", 0 ] 3764 | } 3765 | 3766 | } 3767 | , { 3768 | "patchline" : { 3769 | "destination" : [ "obj-16", 0 ], 3770 | "source" : [ "obj-14", 0 ] 3771 | } 3772 | 3773 | } 3774 | , { 3775 | "patchline" : { 3776 | "destination" : [ "obj-13", 0 ], 3777 | "source" : [ "obj-16", 0 ] 3778 | } 3779 | 3780 | } 3781 | , { 3782 | "patchline" : { 3783 | "destination" : [ "obj-1", 0 ], 3784 | "order" : 0, 3785 | "source" : [ "obj-163", 0 ] 3786 | } 3787 | 3788 | } 3789 | , { 3790 | "patchline" : { 3791 | "destination" : [ "obj-4", 0 ], 3792 | "order" : 1, 3793 | "source" : [ "obj-163", 0 ] 3794 | } 3795 | 3796 | } 3797 | , { 3798 | "patchline" : { 3799 | "destination" : [ "obj-7", 0 ], 3800 | "source" : [ "obj-2", 0 ] 3801 | } 3802 | 3803 | } 3804 | , { 3805 | "patchline" : { 3806 | "destination" : [ "obj-163", 0 ], 3807 | "source" : [ "obj-235", 0 ] 3808 | } 3809 | 3810 | } 3811 | , { 3812 | "patchline" : { 3813 | "destination" : [ "obj-27", 0 ], 3814 | "source" : [ "obj-240", 0 ] 3815 | } 3816 | 3817 | } 3818 | , { 3819 | "patchline" : { 3820 | "destination" : [ "obj-150", 0 ], 3821 | "source" : [ "obj-25", 0 ] 3822 | } 3823 | 3824 | } 3825 | , { 3826 | "patchline" : { 3827 | "destination" : [ "obj-235", 1 ], 3828 | "source" : [ "obj-27", 0 ] 3829 | } 3830 | 3831 | } 3832 | , { 3833 | "patchline" : { 3834 | "destination" : [ "obj-11", 1 ], 3835 | "midpoints" : [ 306.5, 233.0, 214.5, 233.0 ], 3836 | "source" : [ "obj-3", 0 ] 3837 | } 3838 | 3839 | } 3840 | , { 3841 | "patchline" : { 3842 | "destination" : [ "obj-9", 0 ], 3843 | "source" : [ "obj-31", 0 ] 3844 | } 3845 | 3846 | } 3847 | , { 3848 | "patchline" : { 3849 | "destination" : [ "obj-25", 0 ], 3850 | "source" : [ "obj-4", 0 ] 3851 | } 3852 | 3853 | } 3854 | , { 3855 | "patchline" : { 3856 | "destination" : [ "obj-9", 0 ], 3857 | "source" : [ "obj-5", 0 ] 3858 | } 3859 | 3860 | } 3861 | , { 3862 | "patchline" : { 3863 | "destination" : [ "obj-10", 0 ], 3864 | "source" : [ "obj-7", 0 ] 3865 | } 3866 | 3867 | } 3868 | , { 3869 | "patchline" : { 3870 | "destination" : [ "obj-13", 0 ], 3871 | "order" : 0, 3872 | "source" : [ "obj-8", 0 ] 3873 | } 3874 | 3875 | } 3876 | , { 3877 | "patchline" : { 3878 | "destination" : [ "obj-31", 0 ], 3879 | "order" : 1, 3880 | "source" : [ "obj-8", 0 ] 3881 | } 3882 | 3883 | } 3884 | , { 3885 | "patchline" : { 3886 | "destination" : [ "obj-3", 0 ], 3887 | "midpoints" : [ 306.5, 181.0, 306.5, 181.0 ], 3888 | "source" : [ "obj-9", 3 ] 3889 | } 3890 | 3891 | } 3892 | , { 3893 | "patchline" : { 3894 | "destination" : [ "obj-30", 0 ], 3895 | "source" : [ "obj-9", 1 ] 3896 | } 3897 | 3898 | } 3899 | ] 3900 | } 3901 | , 3902 | "patching_rect" : [ 794.5, 534.0, 136.0, 20.0 ], 3903 | "presentation_rect" : [ 794.5, 534.0, 136.0, 20.0 ], 3904 | "saved_object_attributes" : { 3905 | "description" : "", 3906 | "digest" : "", 3907 | "globalpatchername" : "", 3908 | "style" : "", 3909 | "tags" : "" 3910 | } 3911 | , 3912 | "style" : "", 3913 | "text" : "p setNewLoopSize" 3914 | } 3915 | 3916 | } 3917 | , { 3918 | "box" : { 3919 | "id" : "obj-15", 3920 | "maxclass" : "button", 3921 | "numinlets" : 1, 3922 | "numoutlets" : 1, 3923 | "outlettype" : [ "bang" ], 3924 | "patching_rect" : [ 840.0, 255.0, 20.0, 20.0 ], 3925 | "presentation_rect" : [ 840.0, 255.0, 20.0, 20.0 ], 3926 | "style" : "" 3927 | } 3928 | 3929 | } 3930 | , { 3931 | "box" : { 3932 | "fontname" : "Arial Bold", 3933 | "fontsize" : 10.0, 3934 | "id" : "obj-34", 3935 | "maxclass" : "newobj", 3936 | "numinlets" : 2, 3937 | "numoutlets" : 1, 3938 | "outlettype" : [ "int" ], 3939 | "patching_rect" : [ 533.0, 313.0, 38.5, 20.0 ], 3940 | "presentation_rect" : [ 533.0, 313.0, 38.5, 20.0 ], 3941 | "style" : "", 3942 | "text" : "+ 1" 3943 | } 3944 | 3945 | } 3946 | , { 3947 | "box" : { 3948 | "fontface" : 0, 3949 | "fontname" : "Arial Bold", 3950 | "fontsize" : 10.0, 3951 | "id" : "obj-11", 3952 | "maxclass" : "number~", 3953 | "mode" : 2, 3954 | "numinlets" : 2, 3955 | "numoutlets" : 2, 3956 | "outlettype" : [ "signal", "float" ], 3957 | "patching_rect" : [ 690.0, 313.0, 80.0, 20.0 ], 3958 | "presentation_rect" : [ 690.0, 313.0, 80.0, 20.0 ], 3959 | "sig" : 0.0, 3960 | "style" : "" 3961 | } 3962 | 3963 | } 3964 | , { 3965 | "box" : { 3966 | "fontname" : "Arial Bold", 3967 | "fontsize" : 10.0, 3968 | "id" : "obj-75", 3969 | "maxclass" : "newobj", 3970 | "numinlets" : 1, 3971 | "numoutlets" : 1, 3972 | "outlettype" : [ "signal" ], 3973 | "patching_rect" : [ 603.5, 313.0, 42.0, 20.0 ], 3974 | "presentation_rect" : [ 603.5, 313.0, 42.0, 20.0 ], 3975 | "style" : "", 3976 | "text" : "sig~ -1" 3977 | } 3978 | 3979 | } 3980 | , { 3981 | "box" : { 3982 | "fontname" : "Arial Bold", 3983 | "fontsize" : 10.0, 3984 | "id" : "obj-43", 3985 | "maxclass" : "newobj", 3986 | "numinlets" : 3, 3987 | "numoutlets" : 1, 3988 | "outlettype" : [ "signal" ], 3989 | "patching_rect" : [ 533.0, 343.0, 160.0, 20.0 ], 3990 | "presentation_rect" : [ 533.0, 343.0, 160.0, 20.0 ], 3991 | "style" : "", 3992 | "text" : "selector~ 2" 3993 | } 3994 | 3995 | } 3996 | , { 3997 | "box" : { 3998 | "fontname" : "Arial Bold", 3999 | "fontsize" : 10.0, 4000 | "id" : "obj-2", 4001 | "maxclass" : "newobj", 4002 | "numinlets" : 3, 4003 | "numoutlets" : 0, 4004 | "patching_rect" : [ 492.0, 495.0, 101.0, 20.0 ], 4005 | "presentation_rect" : [ 492.0, 495.0, 101.0, 20.0 ], 4006 | "style" : "", 4007 | "text" : "poke~ ---bufDirac 1" 4008 | } 4009 | 4010 | } 4011 | , { 4012 | "box" : { 4013 | "fontname" : "Arial Bold", 4014 | "fontsize" : 10.0, 4015 | "id" : "obj-1", 4016 | "maxclass" : "newobj", 4017 | "numinlets" : 2, 4018 | "numoutlets" : 1, 4019 | "outlettype" : [ "signal" ], 4020 | "patching_rect" : [ 675.0, 285.0, 110.0, 20.0 ], 4021 | "presentation_rect" : [ 675.0, 285.0, 110.0, 20.0 ], 4022 | "style" : "", 4023 | "text" : "count~ 0 1323000." 4024 | } 4025 | 4026 | } 4027 | , { 4028 | "box" : { 4029 | "fontname" : "Arial Bold", 4030 | "fontsize" : 10.0, 4031 | "id" : "obj-41", 4032 | "maxclass" : "newobj", 4033 | "numinlets" : 2, 4034 | "numoutlets" : 0, 4035 | "patcher" : { 4036 | "fileversion" : 1, 4037 | "appversion" : { 4038 | "major" : 8, 4039 | "minor" : 0, 4040 | "revision" : 0, 4041 | "architecture" : "x64", 4042 | "modernui" : 1 4043 | } 4044 | , 4045 | "rect" : [ 310.0, 521.0, 640.0, 480.0 ], 4046 | "bglocked" : 0, 4047 | "openinpresentation" : 0, 4048 | "default_fontsize" : 10.0, 4049 | "default_fontface" : 0, 4050 | "default_fontname" : "Arial Bold", 4051 | "gridonopen" : 1, 4052 | "gridsize" : [ 15.0, 15.0 ], 4053 | "gridsnaponopen" : 1, 4054 | "objectsnaponopen" : 1, 4055 | "statusbarvisible" : 2, 4056 | "toolbarvisible" : 1, 4057 | "lefttoolbarpinned" : 0, 4058 | "toptoolbarpinned" : 0, 4059 | "righttoolbarpinned" : 0, 4060 | "bottomtoolbarpinned" : 0, 4061 | "toolbars_unpinned_last_save" : 0, 4062 | "tallnewobj" : 0, 4063 | "boxanimatetime" : 200, 4064 | "enablehscroll" : 1, 4065 | "enablevscroll" : 1, 4066 | "devicewidth" : 0.0, 4067 | "description" : "", 4068 | "digest" : "", 4069 | "tags" : "", 4070 | "style" : "", 4071 | "subpatcher_template" : "", 4072 | "boxes" : [ { 4073 | "box" : { 4074 | "fontname" : "Arial Bold", 4075 | "fontsize" : 10.0, 4076 | "id" : "obj-11", 4077 | "maxclass" : "newobj", 4078 | "numinlets" : 2, 4079 | "numoutlets" : 2, 4080 | "outlettype" : [ "bang", "" ], 4081 | "patching_rect" : [ 90.0, 60.0, 36.0, 18.0 ], 4082 | "presentation_rect" : [ 90.0, 60.0, 36.0, 18.0 ], 4083 | "style" : "", 4084 | "text" : "sel 1" 4085 | } 4086 | 4087 | } 4088 | , { 4089 | "box" : { 4090 | "fontname" : "Arial Bold", 4091 | "fontsize" : 10.0, 4092 | "format" : 6, 4093 | "id" : "obj-3", 4094 | "maxclass" : "flonum", 4095 | "numinlets" : 1, 4096 | "numoutlets" : 2, 4097 | "outlettype" : [ "", "bang" ], 4098 | "parameter_enable" : 0, 4099 | "patching_rect" : [ 45.0, 192.0, 70.0, 18.0 ], 4100 | "presentation_rect" : [ 45.0, 192.0, 70.0, 18.0 ], 4101 | "style" : "" 4102 | } 4103 | 4104 | } 4105 | , { 4106 | "box" : { 4107 | "comment" : "", 4108 | "id" : "obj-1", 4109 | "index" : 2, 4110 | "maxclass" : "inlet", 4111 | "numinlets" : 0, 4112 | "numoutlets" : 1, 4113 | "outlettype" : [ "int" ], 4114 | "patching_rect" : [ 90.0, 30.0, 25.0, 25.0 ], 4115 | "presentation_rect" : [ 90.0, 30.0, 25.0, 25.0 ], 4116 | "style" : "" 4117 | } 4118 | 4119 | } 4120 | , { 4121 | "box" : { 4122 | "fontname" : "Arial Bold", 4123 | "fontsize" : 10.0, 4124 | "id" : "obj-363", 4125 | "maxclass" : "newobj", 4126 | "numinlets" : 1, 4127 | "numoutlets" : 0, 4128 | "patching_rect" : [ 45.0, 252.0, 84.0, 18.0 ], 4129 | "presentation_rect" : [ 45.0, 252.0, 84.0, 18.0 ], 4130 | "style" : "", 4131 | "text" : "s ---waveform" 4132 | } 4133 | 4134 | } 4135 | , { 4136 | "box" : { 4137 | "fontname" : "Arial Bold", 4138 | "fontsize" : 10.0, 4139 | "format" : 6, 4140 | "id" : "obj-365", 4141 | "maxclass" : "flonum", 4142 | "numinlets" : 1, 4143 | "numoutlets" : 2, 4144 | "outlettype" : [ "", "bang" ], 4145 | "parameter_enable" : 0, 4146 | "patching_rect" : [ 45.0, 143.981934, 85.0, 18.0 ], 4147 | "presentation_rect" : [ 45.0, 143.981934, 85.0, 18.0 ], 4148 | "style" : "" 4149 | } 4150 | 4151 | } 4152 | , { 4153 | "box" : { 4154 | "fontname" : "Arial Bold", 4155 | "fontsize" : 10.0, 4156 | "id" : "obj-366", 4157 | "maxclass" : "newobj", 4158 | "numinlets" : 2, 4159 | "numoutlets" : 1, 4160 | "outlettype" : [ "float" ], 4161 | "patching_rect" : [ 45.0, 168.0, 41.0, 18.0 ], 4162 | "presentation_rect" : [ 45.0, 168.0, 41.0, 18.0 ], 4163 | "style" : "", 4164 | "text" : "/ 44.1" 4165 | } 4166 | 4167 | } 4168 | , { 4169 | "box" : { 4170 | "fontname" : "Arial Bold", 4171 | "fontsize" : 10.0, 4172 | "id" : "obj-367", 4173 | "maxclass" : "newobj", 4174 | "numinlets" : 2, 4175 | "numoutlets" : 1, 4176 | "outlettype" : [ "float" ], 4177 | "patching_rect" : [ 45.0, 120.0, 83.0, 18.0 ], 4178 | "presentation_rect" : [ 45.0, 120.0, 83.0, 18.0 ], 4179 | "style" : "", 4180 | "text" : "snapshot~ 10" 4181 | } 4182 | 4183 | } 4184 | , { 4185 | "box" : { 4186 | "fontname" : "Arial Bold", 4187 | "fontsize" : 10.0, 4188 | "id" : "obj-368", 4189 | "maxclass" : "message", 4190 | "numinlets" : 2, 4191 | "numoutlets" : 1, 4192 | "outlettype" : [ "" ], 4193 | "patching_rect" : [ 45.0, 222.0, 50.0, 16.0 ], 4194 | "presentation_rect" : [ 45.0, 222.0, 50.0, 16.0 ], 4195 | "style" : "", 4196 | "text" : "line $1" 4197 | } 4198 | 4199 | } 4200 | , { 4201 | "box" : { 4202 | "comment" : "", 4203 | "id" : "obj-39", 4204 | "index" : 1, 4205 | "maxclass" : "inlet", 4206 | "numinlets" : 0, 4207 | "numoutlets" : 1, 4208 | "outlettype" : [ "signal" ], 4209 | "patching_rect" : [ 45.0, 40.0, 25.0, 25.0 ], 4210 | "presentation_rect" : [ 45.0, 40.0, 25.0, 25.0 ], 4211 | "style" : "" 4212 | } 4213 | 4214 | } 4215 | , { 4216 | "box" : { 4217 | "fontname" : "Arial Bold", 4218 | "fontsize" : 10.0, 4219 | "id" : "obj-9", 4220 | "maxclass" : "message", 4221 | "numinlets" : 2, 4222 | "numoutlets" : 1, 4223 | "outlettype" : [ "" ], 4224 | "patching_rect" : [ 89.0, 90.0, 50.0, 16.0 ], 4225 | "presentation_rect" : [ 89.0, 90.0, 50.0, 16.0 ], 4226 | "style" : "", 4227 | "text" : "start" 4228 | } 4229 | 4230 | } 4231 | , { 4232 | "box" : { 4233 | "fontname" : "Arial Bold", 4234 | "fontsize" : 10.0, 4235 | "id" : "obj-10", 4236 | "maxclass" : "message", 4237 | "numinlets" : 2, 4238 | "numoutlets" : 1, 4239 | "outlettype" : [ "" ], 4240 | "patching_rect" : [ 142.0, 90.0, 50.0, 16.0 ], 4241 | "presentation_rect" : [ 142.0, 90.0, 50.0, 16.0 ], 4242 | "style" : "", 4243 | "text" : "stop" 4244 | } 4245 | 4246 | } 4247 | ], 4248 | "lines" : [ { 4249 | "patchline" : { 4250 | "destination" : [ "obj-11", 0 ], 4251 | "source" : [ "obj-1", 0 ] 4252 | } 4253 | 4254 | } 4255 | , { 4256 | "patchline" : { 4257 | "destination" : [ "obj-367", 0 ], 4258 | "source" : [ "obj-10", 0 ] 4259 | } 4260 | 4261 | } 4262 | , { 4263 | "patchline" : { 4264 | "destination" : [ "obj-10", 0 ], 4265 | "source" : [ "obj-11", 1 ] 4266 | } 4267 | 4268 | } 4269 | , { 4270 | "patchline" : { 4271 | "destination" : [ "obj-9", 0 ], 4272 | "source" : [ "obj-11", 0 ] 4273 | } 4274 | 4275 | } 4276 | , { 4277 | "patchline" : { 4278 | "destination" : [ "obj-368", 0 ], 4279 | "source" : [ "obj-3", 0 ] 4280 | } 4281 | 4282 | } 4283 | , { 4284 | "patchline" : { 4285 | "destination" : [ "obj-366", 0 ], 4286 | "source" : [ "obj-365", 0 ] 4287 | } 4288 | 4289 | } 4290 | , { 4291 | "patchline" : { 4292 | "destination" : [ "obj-3", 0 ], 4293 | "source" : [ "obj-366", 0 ] 4294 | } 4295 | 4296 | } 4297 | , { 4298 | "patchline" : { 4299 | "destination" : [ "obj-365", 0 ], 4300 | "source" : [ "obj-367", 0 ] 4301 | } 4302 | 4303 | } 4304 | , { 4305 | "patchline" : { 4306 | "destination" : [ "obj-363", 0 ], 4307 | "source" : [ "obj-368", 0 ] 4308 | } 4309 | 4310 | } 4311 | , { 4312 | "patchline" : { 4313 | "destination" : [ "obj-367", 0 ], 4314 | "source" : [ "obj-39", 0 ] 4315 | } 4316 | 4317 | } 4318 | , { 4319 | "patchline" : { 4320 | "destination" : [ "obj-367", 0 ], 4321 | "source" : [ "obj-9", 0 ] 4322 | } 4323 | 4324 | } 4325 | ] 4326 | } 4327 | , 4328 | "patching_rect" : [ 813.0, 468.0, 99.0, 20.0 ], 4329 | "presentation_rect" : [ 813.0, 468.0, 99.0, 20.0 ], 4330 | "saved_object_attributes" : { 4331 | "description" : "", 4332 | "digest" : "", 4333 | "fontname" : "Arial Bold", 4334 | "fontsize" : 10.0, 4335 | "globalpatchername" : "", 4336 | "style" : "", 4337 | "tags" : "" 4338 | } 4339 | , 4340 | "style" : "", 4341 | "text" : "p lineDraw" 4342 | } 4343 | 4344 | } 4345 | , { 4346 | "box" : { 4347 | "fontname" : "Arial Bold", 4348 | "fontsize" : 10.0, 4349 | "id" : "obj-38", 4350 | "maxclass" : "newobj", 4351 | "numinlets" : 2, 4352 | "numoutlets" : 2, 4353 | "outlettype" : [ "bang", "" ], 4354 | "patcher" : { 4355 | "fileversion" : 1, 4356 | "appversion" : { 4357 | "major" : 8, 4358 | "minor" : 0, 4359 | "revision" : 0, 4360 | "architecture" : "x64", 4361 | "modernui" : 1 4362 | } 4363 | , 4364 | "rect" : [ 715.0, 295.0, 640.0, 480.0 ], 4365 | "bglocked" : 0, 4366 | "openinpresentation" : 0, 4367 | "default_fontsize" : 10.0, 4368 | "default_fontface" : 0, 4369 | "default_fontname" : "Arial Bold", 4370 | "gridonopen" : 1, 4371 | "gridsize" : [ 15.0, 15.0 ], 4372 | "gridsnaponopen" : 1, 4373 | "objectsnaponopen" : 1, 4374 | "statusbarvisible" : 2, 4375 | "toolbarvisible" : 1, 4376 | "lefttoolbarpinned" : 0, 4377 | "toptoolbarpinned" : 0, 4378 | "righttoolbarpinned" : 0, 4379 | "bottomtoolbarpinned" : 0, 4380 | "toolbars_unpinned_last_save" : 0, 4381 | "tallnewobj" : 0, 4382 | "boxanimatetime" : 200, 4383 | "enablehscroll" : 1, 4384 | "enablevscroll" : 1, 4385 | "devicewidth" : 0.0, 4386 | "description" : "", 4387 | "digest" : "", 4388 | "tags" : "", 4389 | "style" : "", 4390 | "subpatcher_template" : "", 4391 | "boxes" : [ { 4392 | "box" : { 4393 | "id" : "obj-6", 4394 | "maxclass" : "toggle", 4395 | "numinlets" : 1, 4396 | "numoutlets" : 1, 4397 | "outlettype" : [ "int" ], 4398 | "parameter_enable" : 0, 4399 | "patching_rect" : [ 57.0, 288.0, 20.0, 20.0 ], 4400 | "presentation_rect" : [ 57.0, 288.0, 20.0, 20.0 ], 4401 | "style" : "" 4402 | } 4403 | 4404 | } 4405 | , { 4406 | "box" : { 4407 | "fontname" : "Arial Bold", 4408 | "fontsize" : 10.0, 4409 | "id" : "obj-4", 4410 | "maxclass" : "newobj", 4411 | "numinlets" : 2, 4412 | "numoutlets" : 1, 4413 | "outlettype" : [ "int" ], 4414 | "patching_rect" : [ 54.0, 258.0, 32.5, 18.0 ], 4415 | "presentation_rect" : [ 54.0, 258.0, 32.5, 18.0 ], 4416 | "style" : "", 4417 | "text" : "== 0" 4418 | } 4419 | 4420 | } 4421 | , { 4422 | "box" : { 4423 | "fontname" : "Arial Bold", 4424 | "fontsize" : 10.0, 4425 | "id" : "obj-3", 4426 | "maxclass" : "newobj", 4427 | "numinlets" : 2, 4428 | "numoutlets" : 1, 4429 | "outlettype" : [ "" ], 4430 | "patching_rect" : [ 97.0, 312.0, 32.5, 18.0 ], 4431 | "presentation_rect" : [ 97.0, 312.0, 32.5, 18.0 ], 4432 | "style" : "", 4433 | "text" : "gate" 4434 | } 4435 | 4436 | } 4437 | , { 4438 | "box" : { 4439 | "fontname" : "Arial Bold", 4440 | "fontsize" : 10.0, 4441 | "id" : "obj-1", 4442 | "maxclass" : "newobj", 4443 | "numinlets" : 0, 4444 | "numoutlets" : 1, 4445 | "outlettype" : [ "" ], 4446 | "patching_rect" : [ 53.0, 235.0, 85.0, 18.0 ], 4447 | "presentation_rect" : [ 53.0, 235.0, 85.0, 18.0 ], 4448 | "style" : "", 4449 | "text" : "r ---no_quantize" 4450 | } 4451 | 4452 | } 4453 | , { 4454 | "box" : { 4455 | "fontname" : "Arial Bold", 4456 | "fontsize" : 10.0, 4457 | "format" : 6, 4458 | "id" : "obj-356", 4459 | "maxclass" : "flonum", 4460 | "numinlets" : 1, 4461 | "numoutlets" : 2, 4462 | "outlettype" : [ "", "bang" ], 4463 | "parameter_enable" : 0, 4464 | "patching_rect" : [ 201.5, 87.0, 50.0, 18.0 ], 4465 | "presentation_rect" : [ 201.5, 87.0, 50.0, 18.0 ], 4466 | "style" : "" 4467 | } 4468 | 4469 | } 4470 | , { 4471 | "box" : { 4472 | "fontname" : "Arial Bold", 4473 | "fontsize" : 10.0, 4474 | "id" : "obj-336", 4475 | "maxclass" : "newobj", 4476 | "numinlets" : 2, 4477 | "numoutlets" : 1, 4478 | "outlettype" : [ "int" ], 4479 | "patching_rect" : [ 114.0, 211.0, 37.5, 18.0 ], 4480 | "presentation_rect" : [ 114.0, 211.0, 37.5, 18.0 ], 4481 | "style" : "", 4482 | "text" : "*" 4483 | } 4484 | 4485 | } 4486 | , { 4487 | "box" : { 4488 | "fontname" : "Arial Bold", 4489 | "fontsize" : 10.0, 4490 | "id" : "obj-331", 4491 | "maxclass" : "newobj", 4492 | "numinlets" : 5, 4493 | "numoutlets" : 4, 4494 | "outlettype" : [ "int", "", "", "int" ], 4495 | "patching_rect" : [ 114.0, 172.0, 81.0, 18.0 ], 4496 | "presentation_rect" : [ 114.0, 172.0, 81.0, 18.0 ], 4497 | "style" : "", 4498 | "text" : "counter 1 1000" 4499 | } 4500 | 4501 | } 4502 | , { 4503 | "box" : { 4504 | "fontname" : "Arial Bold", 4505 | "fontsize" : 10.0, 4506 | "id" : "obj-326", 4507 | "maxclass" : "newobj", 4508 | "numinlets" : 2, 4509 | "numoutlets" : 1, 4510 | "outlettype" : [ "bang" ], 4511 | "patching_rect" : [ 114.0, 124.0, 38.0, 18.0 ], 4512 | "presentation_rect" : [ 114.0, 124.0, 38.0, 18.0 ], 4513 | "style" : "", 4514 | "text" : "metro" 4515 | } 4516 | 4517 | } 4518 | , { 4519 | "box" : { 4520 | "fontname" : "Arial Bold", 4521 | "fontsize" : 10.0, 4522 | "id" : "obj-201", 4523 | "maxclass" : "newobj", 4524 | "numinlets" : 2, 4525 | "numoutlets" : 2, 4526 | "outlettype" : [ "bang", "" ], 4527 | "patching_rect" : [ 9.0, 136.0, 47.0, 18.0 ], 4528 | "presentation_rect" : [ 9.0, 136.0, 47.0, 18.0 ], 4529 | "style" : "", 4530 | "text" : "select 0" 4531 | } 4532 | 4533 | } 4534 | , { 4535 | "box" : { 4536 | "comment" : "", 4537 | "id" : "obj-34", 4538 | "index" : 1, 4539 | "maxclass" : "inlet", 4540 | "numinlets" : 0, 4541 | "numoutlets" : 1, 4542 | "outlettype" : [ "int" ], 4543 | "patching_rect" : [ 9.0, 42.0, 25.0, 25.0 ], 4544 | "presentation_rect" : [ 9.0, 42.0, 25.0, 25.0 ], 4545 | "style" : "" 4546 | } 4547 | 4548 | } 4549 | , { 4550 | "box" : { 4551 | "comment" : "", 4552 | "id" : "obj-35", 4553 | "index" : 2, 4554 | "maxclass" : "inlet", 4555 | "numinlets" : 0, 4556 | "numoutlets" : 1, 4557 | "outlettype" : [ "" ], 4558 | "patching_rect" : [ 201.5, 40.0, 25.0, 25.0 ], 4559 | "presentation_rect" : [ 201.5, 40.0, 25.0, 25.0 ], 4560 | "style" : "" 4561 | } 4562 | 4563 | } 4564 | , { 4565 | "box" : { 4566 | "comment" : "", 4567 | "id" : "obj-36", 4568 | "index" : 1, 4569 | "maxclass" : "outlet", 4570 | "numinlets" : 1, 4571 | "numoutlets" : 0, 4572 | "patching_rect" : [ 9.0, 242.0, 25.0, 25.0 ], 4573 | "presentation_rect" : [ 9.0, 242.0, 25.0, 25.0 ], 4574 | "style" : "" 4575 | } 4576 | 4577 | } 4578 | , { 4579 | "box" : { 4580 | "comment" : "", 4581 | "id" : "obj-37", 4582 | "index" : 2, 4583 | "maxclass" : "outlet", 4584 | "numinlets" : 1, 4585 | "numoutlets" : 0, 4586 | "patching_rect" : [ 96.0, 341.0, 25.0, 25.0 ], 4587 | "presentation_rect" : [ 96.0, 341.0, 25.0, 25.0 ], 4588 | "style" : "" 4589 | } 4590 | 4591 | } 4592 | ], 4593 | "lines" : [ { 4594 | "patchline" : { 4595 | "destination" : [ "obj-4", 0 ], 4596 | "source" : [ "obj-1", 0 ] 4597 | } 4598 | 4599 | } 4600 | , { 4601 | "patchline" : { 4602 | "destination" : [ "obj-331", 2 ], 4603 | "midpoints" : [ 46.5, 159.5, 154.5, 159.5 ], 4604 | "source" : [ "obj-201", 1 ] 4605 | } 4606 | 4607 | } 4608 | , { 4609 | "patchline" : { 4610 | "destination" : [ "obj-36", 0 ], 4611 | "source" : [ "obj-201", 0 ] 4612 | } 4613 | 4614 | } 4615 | , { 4616 | "patchline" : { 4617 | "destination" : [ "obj-37", 0 ], 4618 | "source" : [ "obj-3", 0 ] 4619 | } 4620 | 4621 | } 4622 | , { 4623 | "patchline" : { 4624 | "destination" : [ "obj-331", 0 ], 4625 | "source" : [ "obj-326", 0 ] 4626 | } 4627 | 4628 | } 4629 | , { 4630 | "patchline" : { 4631 | "destination" : [ "obj-336", 0 ], 4632 | "source" : [ "obj-331", 0 ] 4633 | } 4634 | 4635 | } 4636 | , { 4637 | "patchline" : { 4638 | "destination" : [ "obj-3", 1 ], 4639 | "source" : [ "obj-336", 0 ] 4640 | } 4641 | 4642 | } 4643 | , { 4644 | "patchline" : { 4645 | "destination" : [ "obj-201", 0 ], 4646 | "order" : 1, 4647 | "source" : [ "obj-34", 0 ] 4648 | } 4649 | 4650 | } 4651 | , { 4652 | "patchline" : { 4653 | "destination" : [ "obj-326", 0 ], 4654 | "order" : 0, 4655 | "source" : [ "obj-34", 0 ] 4656 | } 4657 | 4658 | } 4659 | , { 4660 | "patchline" : { 4661 | "destination" : [ "obj-356", 0 ], 4662 | "source" : [ "obj-35", 0 ] 4663 | } 4664 | 4665 | } 4666 | , { 4667 | "patchline" : { 4668 | "destination" : [ "obj-326", 1 ], 4669 | "midpoints" : [ 211.0, 120.5, 142.5, 120.5 ], 4670 | "order" : 0, 4671 | "source" : [ "obj-356", 0 ] 4672 | } 4673 | 4674 | } 4675 | , { 4676 | "patchline" : { 4677 | "destination" : [ "obj-336", 1 ], 4678 | "midpoints" : [ 211.0, 202.0, 142.0, 202.0 ], 4679 | "order" : 1, 4680 | "source" : [ "obj-356", 0 ] 4681 | } 4682 | 4683 | } 4684 | , { 4685 | "patchline" : { 4686 | "destination" : [ "obj-6", 0 ], 4687 | "source" : [ "obj-4", 0 ] 4688 | } 4689 | 4690 | } 4691 | , { 4692 | "patchline" : { 4693 | "destination" : [ "obj-3", 0 ], 4694 | "source" : [ "obj-6", 0 ] 4695 | } 4696 | 4697 | } 4698 | ] 4699 | } 4700 | , 4701 | "patching_rect" : [ 224.0, 300.0, 110.0, 20.0 ], 4702 | "presentation_rect" : [ 224.0, 300.0, 110.0, 20.0 ], 4703 | "saved_object_attributes" : { 4704 | "description" : "", 4705 | "digest" : "", 4706 | "fontname" : "Arial Bold", 4707 | "fontsize" : 10.0, 4708 | "globalpatchername" : "", 4709 | "style" : "", 4710 | "tags" : "" 4711 | } 4712 | , 4713 | "style" : "", 4714 | "text" : "p looplengthUpdates" 4715 | } 4716 | 4717 | } 4718 | , { 4719 | "box" : { 4720 | "fontname" : "Arial Bold", 4721 | "fontsize" : 10.0, 4722 | "id" : "obj-16", 4723 | "maxclass" : "message", 4724 | "numinlets" : 2, 4725 | "numoutlets" : 1, 4726 | "outlettype" : [ "" ], 4727 | "patching_rect" : [ 1170.0, 300.0, 43.0, 20.0 ], 4728 | "presentation_rect" : [ 1170.0, 300.0, 43.0, 20.0 ], 4729 | "style" : "", 4730 | "text" : "set $1" 4731 | } 4732 | 4733 | } 4734 | , { 4735 | "box" : { 4736 | "fontname" : "Arial Bold", 4737 | "fontsize" : 10.0, 4738 | "id" : "obj-4", 4739 | "maxclass" : "newobj", 4740 | "numinlets" : 0, 4741 | "numoutlets" : 1, 4742 | "outlettype" : [ "" ], 4743 | "patching_rect" : [ 1200.0, 225.0, 92.0, 20.0 ], 4744 | "presentation_rect" : [ 1200.0, 225.0, 92.0, 20.0 ], 4745 | "style" : "", 4746 | "text" : "r ---record_buffer" 4747 | } 4748 | 4749 | } 4750 | , { 4751 | "box" : { 4752 | "fontname" : "Arial Bold", 4753 | "fontsize" : 10.0, 4754 | "id" : "obj-62", 4755 | "maxclass" : "newobj", 4756 | "numinlets" : 0, 4757 | "numoutlets" : 1, 4758 | "outlettype" : [ "" ], 4759 | "patching_rect" : [ 345.0, 435.0, 92.0, 20.0 ], 4760 | "presentation_rect" : [ 345.0, 435.0, 92.0, 20.0 ], 4761 | "style" : "", 4762 | "text" : "r ---record_buffer" 4763 | } 4764 | 4765 | } 4766 | , { 4767 | "box" : { 4768 | "fontname" : "Arial Bold", 4769 | "fontsize" : 10.0, 4770 | "id" : "obj-61", 4771 | "maxclass" : "message", 4772 | "numinlets" : 2, 4773 | "numoutlets" : 1, 4774 | "outlettype" : [ "" ], 4775 | "patching_rect" : [ 345.0, 465.0, 39.0, 20.0 ], 4776 | "presentation_rect" : [ 345.0, 465.0, 39.0, 20.0 ], 4777 | "style" : "", 4778 | "text" : "set $1" 4779 | } 4780 | 4781 | } 4782 | , { 4783 | "box" : { 4784 | "id" : "obj-459", 4785 | "maxclass" : "button", 4786 | "numinlets" : 1, 4787 | "numoutlets" : 1, 4788 | "outlettype" : [ "bang" ], 4789 | "patching_rect" : [ 225.0, 452.0, 20.0, 20.0 ], 4790 | "presentation_rect" : [ 225.0, 452.0, 20.0, 20.0 ], 4791 | "style" : "" 4792 | } 4793 | 4794 | } 4795 | , { 4796 | "box" : { 4797 | "fontname" : "Arial Bold", 4798 | "fontsize" : 10.0, 4799 | "id" : "obj-118", 4800 | "maxclass" : "comment", 4801 | "numinlets" : 1, 4802 | "numoutlets" : 0, 4803 | "patching_rect" : [ 169.0, 326.0, 64.0, 18.0 ], 4804 | "presentation_rect" : [ 169.0, 326.0, 64.0, 18.0 ], 4805 | "style" : "", 4806 | "text" : "Record (0)" 4807 | } 4808 | 4809 | } 4810 | , { 4811 | "box" : { 4812 | "fontname" : "Arial Bold", 4813 | "fontsize" : 10.0, 4814 | "id" : "obj-283", 4815 | "maxclass" : "message", 4816 | "numinlets" : 2, 4817 | "numoutlets" : 1, 4818 | "outlettype" : [ "" ], 4819 | "patching_rect" : [ 1170.0, 255.0, 61.0, 31.0 ], 4820 | "presentation_rect" : [ 1170.0, 255.0, 61.0, 31.0 ], 4821 | "style" : "", 4822 | "text" : "---bufDirac" 4823 | } 4824 | 4825 | } 4826 | , { 4827 | "box" : { 4828 | "fontname" : "Arial Bold", 4829 | "fontsize" : 10.0, 4830 | "id" : "obj-281", 4831 | "maxclass" : "newobj", 4832 | "numinlets" : 1, 4833 | "numoutlets" : 0, 4834 | "patching_rect" : [ 1170.0, 330.0, 76.0, 20.0 ], 4835 | "presentation_rect" : [ 1170.0, 330.0, 76.0, 20.0 ], 4836 | "style" : "", 4837 | "text" : "s ---waveform" 4838 | } 4839 | 4840 | } 4841 | , { 4842 | "box" : { 4843 | "fontname" : "Arial Bold", 4844 | "fontsize" : 10.0, 4845 | "id" : "obj-174", 4846 | "maxclass" : "newobj", 4847 | "numinlets" : 1, 4848 | "numoutlets" : 3, 4849 | "outlettype" : [ "", "int", "int" ], 4850 | "patching_rect" : [ 225.0, 110.0, 46.0, 20.0 ], 4851 | "presentation_rect" : [ 225.0, 110.0, 46.0, 20.0 ], 4852 | "style" : "", 4853 | "text" : "change" 4854 | } 4855 | 4856 | } 4857 | , { 4858 | "box" : { 4859 | "fontname" : "Arial Bold", 4860 | "fontsize" : 10.0, 4861 | "id" : "obj-318", 4862 | "maxclass" : "newobj", 4863 | "numinlets" : 0, 4864 | "numoutlets" : 1, 4865 | "outlettype" : [ "" ], 4866 | "patching_rect" : [ 315.0, 270.0, 86.0, 20.0 ], 4867 | "presentation_rect" : [ 315.0, 270.0, 86.0, 20.0 ], 4868 | "style" : "", 4869 | "text" : "r ---quantize_ms" 4870 | } 4871 | 4872 | } 4873 | , { 4874 | "box" : { 4875 | "fontname" : "Arial Bold", 4876 | "fontsize" : 10.0, 4877 | "id" : "obj-308", 4878 | "maxclass" : "newobj", 4879 | "numinlets" : 1, 4880 | "numoutlets" : 0, 4881 | "patching_rect" : [ 315.0, 326.0, 100.0, 20.0 ], 4882 | "presentation_rect" : [ 315.0, 326.0, 100.0, 20.0 ], 4883 | "style" : "", 4884 | "text" : "s ---looplength_ms" 4885 | } 4886 | 4887 | } 4888 | , { 4889 | "box" : { 4890 | "fontname" : "Arial Bold", 4891 | "fontsize" : 10.0, 4892 | "id" : "obj-6", 4893 | "maxclass" : "newobj", 4894 | "numinlets" : 0, 4895 | "numoutlets" : 1, 4896 | "outlettype" : [ "" ], 4897 | "patching_rect" : [ 225.0, 38.0, 56.0, 20.0 ], 4898 | "presentation_rect" : [ 225.0, 38.0, 56.0, 20.0 ], 4899 | "style" : "", 4900 | "text" : "r ---record" 4901 | } 4902 | 4903 | } 4904 | , { 4905 | "box" : { 4906 | "fontname" : "Arial Bold", 4907 | "fontsize" : 10.0, 4908 | "id" : "obj-360", 4909 | "maxclass" : "newobj", 4910 | "numinlets" : 1, 4911 | "numoutlets" : 4, 4912 | "outlettype" : [ "int", "int", "int", "int" ], 4913 | "patching_rect" : [ 225.0, 204.0, 943.0, 20.0 ], 4914 | "presentation_rect" : [ 225.0, 204.0, 943.0, 20.0 ], 4915 | "style" : "", 4916 | "text" : "t i i i i" 4917 | } 4918 | 4919 | } 4920 | , { 4921 | "box" : { 4922 | "id" : "obj-33", 4923 | "maxclass" : "toggle", 4924 | "numinlets" : 1, 4925 | "numoutlets" : 1, 4926 | "outlettype" : [ "int" ], 4927 | "parameter_enable" : 0, 4928 | "patching_rect" : [ 225.0, 86.0, 20.0, 20.0 ], 4929 | "presentation_rect" : [ 225.0, 86.0, 20.0, 20.0 ], 4930 | "style" : "" 4931 | } 4932 | 4933 | } 4934 | , { 4935 | "box" : { 4936 | "comment" : "", 4937 | "id" : "obj-451", 4938 | "index" : 1, 4939 | "maxclass" : "inlet", 4940 | "numinlets" : 0, 4941 | "numoutlets" : 1, 4942 | "outlettype" : [ "signal" ], 4943 | "patching_rect" : [ 492.0, 435.0, 25.0, 25.0 ], 4944 | "presentation_rect" : [ 492.0, 435.0, 25.0, 25.0 ], 4945 | "style" : "" 4946 | } 4947 | 4948 | } 4949 | ], 4950 | "lines" : [ { 4951 | "patchline" : { 4952 | "color" : [ 0.0, 0.215686, 0.858824, 1.0 ], 4953 | "destination" : [ "obj-11", 0 ], 4954 | "order" : 0, 4955 | "source" : [ "obj-1", 0 ] 4956 | } 4957 | 4958 | } 4959 | , { 4960 | "patchline" : { 4961 | "color" : [ 0.0, 0.215686, 0.858824, 1.0 ], 4962 | "destination" : [ "obj-43", 2 ], 4963 | "order" : 1, 4964 | "source" : [ "obj-1", 0 ] 4965 | } 4966 | 4967 | } 4968 | , { 4969 | "patchline" : { 4970 | "destination" : [ "obj-1", 0 ], 4971 | "midpoints" : [ 849.5, 279.5, 684.5, 279.5 ], 4972 | "source" : [ "obj-15", 0 ] 4973 | } 4974 | 4975 | } 4976 | , { 4977 | "patchline" : { 4978 | "destination" : [ "obj-281", 0 ], 4979 | "source" : [ "obj-16", 0 ] 4980 | } 4981 | 4982 | } 4983 | , { 4984 | "patchline" : { 4985 | "destination" : [ "obj-10", 1 ], 4986 | "source" : [ "obj-17", 0 ] 4987 | } 4988 | 4989 | } 4990 | , { 4991 | "patchline" : { 4992 | "destination" : [ "obj-360", 0 ], 4993 | "source" : [ "obj-174", 0 ] 4994 | } 4995 | 4996 | } 4997 | , { 4998 | "patchline" : { 4999 | "destination" : [ "obj-16", 0 ], 5000 | "source" : [ "obj-283", 0 ] 5001 | } 5002 | 5003 | } 5004 | , { 5005 | "patchline" : { 5006 | "destination" : [ "obj-7", 0 ], 5007 | "source" : [ "obj-3", 0 ] 5008 | } 5009 | 5010 | } 5011 | , { 5012 | "patchline" : { 5013 | "destination" : [ "obj-38", 1 ], 5014 | "source" : [ "obj-318", 0 ] 5015 | } 5016 | 5017 | } 5018 | , { 5019 | "patchline" : { 5020 | "destination" : [ "obj-174", 0 ], 5021 | "order" : 0, 5022 | "source" : [ "obj-33", 0 ] 5023 | } 5024 | 5025 | } 5026 | , { 5027 | "patchline" : { 5028 | "destination" : [ "obj-3", 0 ], 5029 | "order" : 1, 5030 | "source" : [ "obj-33", 0 ] 5031 | } 5032 | 5033 | } 5034 | , { 5035 | "patchline" : { 5036 | "destination" : [ "obj-43", 0 ], 5037 | "source" : [ "obj-34", 0 ] 5038 | } 5039 | 5040 | } 5041 | , { 5042 | "patchline" : { 5043 | "destination" : [ "obj-15", 0 ], 5044 | "midpoints" : [ 850.5, 235.5, 849.5, 235.5 ], 5045 | "source" : [ "obj-360", 2 ] 5046 | } 5047 | 5048 | } 5049 | , { 5050 | "patchline" : { 5051 | "destination" : [ "obj-17", 0 ], 5052 | "midpoints" : [ 1158.5, 447.5, 921.0, 447.5 ], 5053 | "order" : 1, 5054 | "source" : [ "obj-360", 3 ] 5055 | } 5056 | 5057 | } 5058 | , { 5059 | "patchline" : { 5060 | "destination" : [ "obj-283", 0 ], 5061 | "order" : 0, 5062 | "source" : [ "obj-360", 3 ] 5063 | } 5064 | 5065 | } 5066 | , { 5067 | "patchline" : { 5068 | "destination" : [ "obj-34", 0 ], 5069 | "source" : [ "obj-360", 1 ] 5070 | } 5071 | 5072 | } 5073 | , { 5074 | "patchline" : { 5075 | "destination" : [ "obj-38", 0 ], 5076 | "source" : [ "obj-360", 0 ] 5077 | } 5078 | 5079 | } 5080 | , { 5081 | "patchline" : { 5082 | "destination" : [ "obj-41", 1 ], 5083 | "midpoints" : [ 1158.5, 447.5, 902.5, 447.5 ], 5084 | "order" : 2, 5085 | "source" : [ "obj-360", 3 ] 5086 | } 5087 | 5088 | } 5089 | , { 5090 | "patchline" : { 5091 | "destination" : [ "obj-308", 0 ], 5092 | "source" : [ "obj-38", 1 ] 5093 | } 5094 | 5095 | } 5096 | , { 5097 | "patchline" : { 5098 | "destination" : [ "obj-459", 0 ], 5099 | "source" : [ "obj-38", 0 ] 5100 | } 5101 | 5102 | } 5103 | , { 5104 | "patchline" : { 5105 | "destination" : [ "obj-283", 1 ], 5106 | "source" : [ "obj-4", 0 ] 5107 | } 5108 | 5109 | } 5110 | , { 5111 | "patchline" : { 5112 | "color" : [ 0.0, 0.215686, 0.858824, 1.0 ], 5113 | "destination" : [ "obj-10", 0 ], 5114 | "midpoints" : [ 542.5, 414.0, 804.0, 414.0 ], 5115 | "order" : 1, 5116 | "source" : [ "obj-43", 0 ] 5117 | } 5118 | 5119 | } 5120 | , { 5121 | "patchline" : { 5122 | "color" : [ 0.0, 0.215686, 0.858824, 1.0 ], 5123 | "destination" : [ "obj-2", 1 ], 5124 | "midpoints" : [ 542.5, 486.0, 542.5, 486.0 ], 5125 | "order" : 3, 5126 | "source" : [ "obj-43", 0 ] 5127 | } 5128 | 5129 | } 5130 | , { 5131 | "patchline" : { 5132 | "color" : [ 0.0, 0.215686, 0.858824, 1.0 ], 5133 | "destination" : [ "obj-41", 0 ], 5134 | "midpoints" : [ 542.5, 414.0, 822.5, 414.0 ], 5135 | "order" : 0, 5136 | "source" : [ "obj-43", 0 ] 5137 | } 5138 | 5139 | } 5140 | , { 5141 | "patchline" : { 5142 | "color" : [ 0.0, 0.25098, 1.0, 1.0 ], 5143 | "destination" : [ "obj-8", 1 ], 5144 | "midpoints" : [ 542.5, 414.5, 665.5, 414.5 ], 5145 | "order" : 2, 5146 | "source" : [ "obj-43", 0 ] 5147 | } 5148 | 5149 | } 5150 | , { 5151 | "patchline" : { 5152 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 5153 | "destination" : [ "obj-2", 0 ], 5154 | "source" : [ "obj-451", 0 ] 5155 | } 5156 | 5157 | } 5158 | , { 5159 | "patchline" : { 5160 | "destination" : [ "obj-10", 0 ], 5161 | "midpoints" : [ 234.5, 526.5, 804.0, 526.5 ], 5162 | "order" : 0, 5163 | "source" : [ "obj-459", 0 ] 5164 | } 5165 | 5166 | } 5167 | , { 5168 | "patchline" : { 5169 | "destination" : [ "obj-13", 0 ], 5170 | "order" : 1, 5171 | "source" : [ "obj-459", 0 ] 5172 | } 5173 | 5174 | } 5175 | , { 5176 | "patchline" : { 5177 | "color" : [ 1.0, 0.0, 0.0, 1.0 ], 5178 | "destination" : [ "obj-8", 0 ], 5179 | "source" : [ "obj-5", 0 ] 5180 | } 5181 | 5182 | } 5183 | , { 5184 | "patchline" : { 5185 | "destination" : [ "obj-33", 0 ], 5186 | "source" : [ "obj-6", 0 ] 5187 | } 5188 | 5189 | } 5190 | , { 5191 | "patchline" : { 5192 | "destination" : [ "obj-2", 0 ], 5193 | "midpoints" : [ 354.5, 487.5, 501.5, 487.5 ], 5194 | "order" : 1, 5195 | "source" : [ "obj-61", 0 ] 5196 | } 5197 | 5198 | } 5199 | , { 5200 | "patchline" : { 5201 | "destination" : [ "obj-8", 0 ], 5202 | "midpoints" : [ 354.5, 487.5, 624.5, 487.5 ], 5203 | "order" : 0, 5204 | "source" : [ "obj-61", 0 ] 5205 | } 5206 | 5207 | } 5208 | , { 5209 | "patchline" : { 5210 | "destination" : [ "obj-61", 0 ], 5211 | "source" : [ "obj-62", 0 ] 5212 | } 5213 | 5214 | } 5215 | , { 5216 | "patchline" : { 5217 | "destination" : [ "obj-43", 1 ], 5218 | "source" : [ "obj-75", 0 ] 5219 | } 5220 | 5221 | } 5222 | ] 5223 | } 5224 | , 5225 | "patching_rect" : [ 50.0, 567.250244, 87.0, 20.0 ], 5226 | "presentation_rect" : [ 50.0, 567.250244, 87.0, 20.0 ], 5227 | "saved_object_attributes" : { 5228 | "description" : "", 5229 | "digest" : "", 5230 | "fontname" : "Arial Bold", 5231 | "fontsize" : 10.0, 5232 | "globalpatchername" : "", 5233 | "style" : "", 5234 | "tags" : "" 5235 | } 5236 | , 5237 | "style" : "", 5238 | "text" : "p RecordEngine" 5239 | } 5240 | 5241 | } 5242 | , { 5243 | "box" : { 5244 | "fontname" : "Arial Bold", 5245 | "fontsize" : 10.0, 5246 | "id" : "obj-229", 5247 | "maxclass" : "newobj", 5248 | "numinlets" : 0, 5249 | "numoutlets" : 1, 5250 | "outlettype" : [ "" ], 5251 | "patching_rect" : [ 154.0, 434.250244, 64.0, 20.0 ], 5252 | "presentation_rect" : [ 154.0, 434.250244, 64.0, 20.0 ], 5253 | "style" : "", 5254 | "text" : "r ---window" 5255 | } 5256 | 5257 | } 5258 | , { 5259 | "box" : { 5260 | "fontname" : "Arial Bold", 5261 | "fontsize" : 10.0, 5262 | "id" : "obj-439", 5263 | "maxclass" : "newobj", 5264 | "numinlets" : 0, 5265 | "numoutlets" : 1, 5266 | "outlettype" : [ "" ], 5267 | "patching_rect" : [ 143.0, 413.750244, 77.0, 20.0 ], 5268 | "presentation_rect" : [ 143.0, 413.750244, 77.0, 20.0 ], 5269 | "style" : "", 5270 | "text" : "r ---big_button" 5271 | } 5272 | 5273 | } 5274 | , { 5275 | "box" : { 5276 | "fontname" : "Arial Bold", 5277 | "fontsize" : 10.0, 5278 | "id" : "obj-424", 5279 | "maxclass" : "newobj", 5280 | "numinlets" : 2, 5281 | "numoutlets" : 1, 5282 | "outlettype" : [ "signal" ], 5283 | "patching_rect" : [ 50.0, 516.250244, 32.5, 20.0 ], 5284 | "presentation_rect" : [ 50.0, 516.250244, 32.5, 20.0 ], 5285 | "style" : "", 5286 | "text" : "*~ 1." 5287 | } 5288 | 5289 | } 5290 | , { 5291 | "box" : { 5292 | "bgcolor" : [ 1.0, 1.0, 1.0, 0.0 ], 5293 | "fontface" : 0, 5294 | "fontname" : "Arial Bold", 5295 | "fontsize" : 10.0, 5296 | "id" : "obj-268", 5297 | "ignoreclick" : 1, 5298 | "maxclass" : "number~", 5299 | "mode" : 2, 5300 | "numinlets" : 2, 5301 | "numoutlets" : 2, 5302 | "outlettype" : [ "signal", "float" ], 5303 | "patching_rect" : [ 436.25, 360.21814, 56.0, 20.0 ], 5304 | "presentation_rect" : [ 436.25, 360.21814, 56.0, 20.0 ], 5305 | "sig" : 0.0, 5306 | "style" : "", 5307 | "textcolor" : [ 0.0, 0.0, 0.0, 1.0 ] 5308 | } 5309 | 5310 | } 5311 | , { 5312 | "box" : { 5313 | "fontname" : "Arial Bold", 5314 | "fontsize" : 10.0, 5315 | "id" : "obj-181", 5316 | "maxclass" : "newobj", 5317 | "numinlets" : 2, 5318 | "numoutlets" : 1, 5319 | "outlettype" : [ "signal" ], 5320 | "patching_rect" : [ 50.25, 346.250183, 42.0, 20.0 ], 5321 | "presentation_rect" : [ 50.25, 346.250183, 42.0, 20.0 ], 5322 | "style" : "", 5323 | "text" : "*~ 1." 5324 | } 5325 | 5326 | } 5327 | , { 5328 | "box" : { 5329 | "fontname" : "Arial", 5330 | "fontsize" : 12.0, 5331 | "id" : "obj-12", 5332 | "maxclass" : "message", 5333 | "numinlets" : 2, 5334 | "numoutlets" : 1, 5335 | "outlettype" : [ "" ], 5336 | "patching_rect" : [ 952.0, 478.0, 52.0, 22.0 ], 5337 | "presentation_rect" : [ 952.0, 478.0, 52.0, 22.0 ], 5338 | "style" : "", 5339 | "text" : "mute $1" 5340 | } 5341 | 5342 | } 5343 | , { 5344 | "box" : { 5345 | "attr" : "pitchshift", 5346 | "id" : "obj-38", 5347 | "maxclass" : "attrui", 5348 | "numinlets" : 1, 5349 | "numoutlets" : 1, 5350 | "outlettype" : [ "" ], 5351 | "patching_rect" : [ 479.0, 97.0, 150.0, 22.0 ], 5352 | "presentation_rect" : [ 479.0, 97.0, 150.0, 22.0 ], 5353 | "style" : "" 5354 | } 5355 | 5356 | } 5357 | , { 5358 | "box" : { 5359 | "id" : "obj-43", 5360 | "maxclass" : "message", 5361 | "numinlets" : 2, 5362 | "numoutlets" : 1, 5363 | "outlettype" : [ "" ], 5364 | "patching_rect" : [ 220.0, 242.0, 50.0, 22.0 ], 5365 | "presentation_rect" : [ 220.0, 242.0, 50.0, 22.0 ], 5366 | "style" : "", 5367 | "text" : "stop" 5368 | } 5369 | 5370 | } 5371 | , { 5372 | "box" : { 5373 | "attr" : "quality", 5374 | "id" : "obj-18", 5375 | "maxclass" : "attrui", 5376 | "numinlets" : 1, 5377 | "numoutlets" : 1, 5378 | "outlettype" : [ "" ], 5379 | "patching_rect" : [ 60.0, 211.077759, 150.0, 22.0 ], 5380 | "presentation_rect" : [ 60.0, 211.077759, 150.0, 22.0 ], 5381 | "style" : "" 5382 | } 5383 | 5384 | } 5385 | ], 5386 | "lines" : [ { 5387 | "patchline" : { 5388 | "destination" : [ "obj-132", 1 ], 5389 | "order" : 0, 5390 | "source" : [ "obj-1", 0 ] 5391 | } 5392 | 5393 | } 5394 | , { 5395 | "patchline" : { 5396 | "destination" : [ "obj-181", 1 ], 5397 | "order" : 1, 5398 | "source" : [ "obj-1", 0 ] 5399 | } 5400 | 5401 | } 5402 | , { 5403 | "patchline" : { 5404 | "destination" : [ "obj-19", 0 ], 5405 | "source" : [ "obj-10", 0 ] 5406 | } 5407 | 5408 | } 5409 | , { 5410 | "patchline" : { 5411 | "destination" : [ "obj-32", 0 ], 5412 | "source" : [ "obj-109", 0 ] 5413 | } 5414 | 5415 | } 5416 | , { 5417 | "patchline" : { 5418 | "destination" : [ "obj-11", 0 ], 5419 | "source" : [ "obj-12", 0 ] 5420 | } 5421 | 5422 | } 5423 | , { 5424 | "patchline" : { 5425 | "destination" : [ "obj-9", 0 ], 5426 | "midpoints" : [ 513.0, 296.5, 308.5, 296.5 ], 5427 | "source" : [ "obj-13", 0 ] 5428 | } 5429 | 5430 | } 5431 | , { 5432 | "patchline" : { 5433 | "color" : [ 0.960784, 0.439216, 0.478431, 1.0 ], 5434 | "destination" : [ "obj-452", 1 ], 5435 | "midpoints" : [ 105.5, 555.750244, 127.5, 555.750244 ], 5436 | "order" : 1, 5437 | "source" : [ "obj-130", 0 ] 5438 | } 5439 | 5440 | } 5441 | , { 5442 | "patchline" : { 5443 | "color" : [ 0.960784, 0.439216, 0.478431, 1.0 ], 5444 | "destination" : [ "obj-454", 1 ], 5445 | "midpoints" : [ 105.5, 555.750244, 193.0, 555.750244 ], 5446 | "order" : 0, 5447 | "source" : [ "obj-130", 0 ] 5448 | } 5449 | 5450 | } 5451 | , { 5452 | "patchline" : { 5453 | "color" : [ 0.0, 1.0, 0.231373, 1.0 ], 5454 | "destination" : [ "obj-130", 0 ], 5455 | "source" : [ "obj-132", 0 ] 5456 | } 5457 | 5458 | } 5459 | , { 5460 | "patchline" : { 5461 | "destination" : [ "obj-16", 0 ], 5462 | "source" : [ "obj-14", 0 ] 5463 | } 5464 | 5465 | } 5466 | , { 5467 | "patchline" : { 5468 | "destination" : [ "obj-21", 0 ], 5469 | "source" : [ "obj-15", 0 ] 5470 | } 5471 | 5472 | } 5473 | , { 5474 | "patchline" : { 5475 | "destination" : [ "obj-12", 0 ], 5476 | "source" : [ "obj-16", 0 ] 5477 | } 5478 | 5479 | } 5480 | , { 5481 | "patchline" : { 5482 | "destination" : [ "obj-20", 0 ], 5483 | "source" : [ "obj-17", 0 ] 5484 | } 5485 | 5486 | } 5487 | , { 5488 | "patchline" : { 5489 | "destination" : [ "obj-9", 0 ], 5490 | "source" : [ "obj-18", 0 ] 5491 | } 5492 | 5493 | } 5494 | , { 5495 | "patchline" : { 5496 | "color" : [ 0.007843, 1.0, 0.168627, 1.0 ], 5497 | "destination" : [ "obj-424", 0 ], 5498 | "midpoints" : [ 59.75, 369.750244, 59.5, 369.750244 ], 5499 | "source" : [ "obj-181", 0 ] 5500 | } 5501 | 5502 | } 5503 | , { 5504 | "patchline" : { 5505 | "destination" : [ "obj-39", 0 ], 5506 | "source" : [ "obj-187", 0 ] 5507 | } 5508 | 5509 | } 5510 | , { 5511 | "patchline" : { 5512 | "destination" : [ "obj-24", 0 ], 5513 | "source" : [ "obj-19", 0 ] 5514 | } 5515 | 5516 | } 5517 | , { 5518 | "patchline" : { 5519 | "destination" : [ "obj-33", 0 ], 5520 | "source" : [ "obj-2", 0 ] 5521 | } 5522 | 5523 | } 5524 | , { 5525 | "patchline" : { 5526 | "destination" : [ "obj-24", 0 ], 5527 | "source" : [ "obj-20", 0 ] 5528 | } 5529 | 5530 | } 5531 | , { 5532 | "patchline" : { 5533 | "destination" : [ "obj-466", 1 ], 5534 | "source" : [ "obj-207", 0 ] 5535 | } 5536 | 5537 | } 5538 | , { 5539 | "patchline" : { 5540 | "destination" : [ "obj-9", 0 ], 5541 | "source" : [ "obj-21", 0 ] 5542 | } 5543 | 5544 | } 5545 | , { 5546 | "patchline" : { 5547 | "destination" : [ "obj-18", 0 ], 5548 | "source" : [ "obj-22", 0 ] 5549 | } 5550 | 5551 | } 5552 | , { 5553 | "patchline" : { 5554 | "destination" : [ "obj-466", 0 ], 5555 | "source" : [ "obj-229", 0 ] 5556 | } 5557 | 5558 | } 5559 | , { 5560 | "patchline" : { 5561 | "destination" : [ "obj-187", 0 ], 5562 | "source" : [ "obj-232", 0 ] 5563 | } 5564 | 5565 | } 5566 | , { 5567 | "patchline" : { 5568 | "destination" : [ "obj-11", 0 ], 5569 | "order" : 1, 5570 | "source" : [ "obj-24", 0 ] 5571 | } 5572 | 5573 | } 5574 | , { 5575 | "patchline" : { 5576 | "destination" : [ "obj-14", 0 ], 5577 | "order" : 0, 5578 | "source" : [ "obj-24", 0 ] 5579 | } 5580 | 5581 | } 5582 | , { 5583 | "patchline" : { 5584 | "destination" : [ "obj-129", 0 ], 5585 | "source" : [ "obj-25", 0 ] 5586 | } 5587 | 5588 | } 5589 | , { 5590 | "patchline" : { 5591 | "destination" : [ "obj-25", 0 ], 5592 | "source" : [ "obj-268", 1 ] 5593 | } 5594 | 5595 | } 5596 | , { 5597 | "patchline" : { 5598 | "destination" : [ "obj-9", 0 ], 5599 | "source" : [ "obj-275", 0 ] 5600 | } 5601 | 5602 | } 5603 | , { 5604 | "patchline" : { 5605 | "color" : [ 0.50196, 0.0, 0.008131, 1.0 ], 5606 | "destination" : [ "obj-424", 0 ], 5607 | "source" : [ "obj-3", 0 ] 5608 | } 5609 | 5610 | } 5611 | , { 5612 | "patchline" : { 5613 | "destination" : [ "obj-9", 0 ], 5614 | "midpoints" : [ 676.5, 298.5, 308.5, 298.5 ], 5615 | "source" : [ "obj-32", 0 ] 5616 | } 5617 | 5618 | } 5619 | , { 5620 | "patchline" : { 5621 | "destination" : [ "obj-13", 0 ], 5622 | "source" : [ "obj-33", 0 ] 5623 | } 5624 | 5625 | } 5626 | , { 5627 | "patchline" : { 5628 | "destination" : [ "obj-37", 0 ], 5629 | "source" : [ "obj-35", 0 ] 5630 | } 5631 | 5632 | } 5633 | , { 5634 | "patchline" : { 5635 | "destination" : [ "obj-109", 0 ], 5636 | "source" : [ "obj-36", 0 ] 5637 | } 5638 | 5639 | } 5640 | , { 5641 | "patchline" : { 5642 | "destination" : [ "obj-38", 0 ], 5643 | "source" : [ "obj-37", 0 ] 5644 | } 5645 | 5646 | } 5647 | , { 5648 | "patchline" : { 5649 | "destination" : [ "obj-9", 0 ], 5650 | "midpoints" : [ 488.5, 299.5, 308.5, 299.5 ], 5651 | "source" : [ "obj-38", 0 ] 5652 | } 5653 | 5654 | } 5655 | , { 5656 | "patchline" : { 5657 | "destination" : [ "obj-41", 0 ], 5658 | "source" : [ "obj-39", 0 ] 5659 | } 5660 | 5661 | } 5662 | , { 5663 | "patchline" : { 5664 | "color" : [ 0.50196, 0.0, 0.008131, 1.0 ], 5665 | "destination" : [ "obj-130", 0 ], 5666 | "source" : [ "obj-4", 0 ] 5667 | } 5668 | 5669 | } 5670 | , { 5671 | "patchline" : { 5672 | "destination" : [ "obj-43", 0 ], 5673 | "source" : [ "obj-41", 0 ] 5674 | } 5675 | 5676 | } 5677 | , { 5678 | "patchline" : { 5679 | "color" : [ 0.811765, 0.372549, 0.372549, 1.0 ], 5680 | "destination" : [ "obj-452", 0 ], 5681 | "order" : 1, 5682 | "source" : [ "obj-424", 0 ] 5683 | } 5684 | 5685 | } 5686 | , { 5687 | "patchline" : { 5688 | "color" : [ 0.811765, 0.372549, 0.372549, 1.0 ], 5689 | "destination" : [ "obj-454", 0 ], 5690 | "midpoints" : [ 59.5, 555.750244, 155.5, 555.750244 ], 5691 | "order" : 0, 5692 | "source" : [ "obj-424", 0 ] 5693 | } 5694 | 5695 | } 5696 | , { 5697 | "patchline" : { 5698 | "destination" : [ "obj-9", 0 ], 5699 | "source" : [ "obj-43", 0 ] 5700 | } 5701 | 5702 | } 5703 | , { 5704 | "patchline" : { 5705 | "destination" : [ "obj-466", 0 ], 5706 | "source" : [ "obj-439", 0 ] 5707 | } 5708 | 5709 | } 5710 | , { 5711 | "patchline" : { 5712 | "destination" : [ "obj-130", 1 ], 5713 | "midpoints" : [ 152.5, 511.250244, 119.0, 511.250244 ], 5714 | "order" : 0, 5715 | "source" : [ "obj-466", 0 ] 5716 | } 5717 | 5718 | } 5719 | , { 5720 | "patchline" : { 5721 | "destination" : [ "obj-424", 1 ], 5722 | "midpoints" : [ 152.5, 511.750244, 73.0, 511.750244 ], 5723 | "order" : 1, 5724 | "source" : [ "obj-466", 0 ] 5725 | } 5726 | 5727 | } 5728 | , { 5729 | "patchline" : { 5730 | "destination" : [ "obj-9", 0 ], 5731 | "midpoints" : [ 379.5, 298.0, 308.5, 298.0 ], 5732 | "source" : [ "obj-61", 0 ] 5733 | } 5734 | 5735 | } 5736 | , { 5737 | "patchline" : { 5738 | "destination" : [ "obj-61", 0 ], 5739 | "source" : [ "obj-62", 0 ] 5740 | } 5741 | 5742 | } 5743 | , { 5744 | "patchline" : { 5745 | "destination" : [ "obj-17", 0 ], 5746 | "source" : [ "obj-7", 0 ] 5747 | } 5748 | 5749 | } 5750 | , { 5751 | "patchline" : { 5752 | "destination" : [ "obj-10", 0 ], 5753 | "source" : [ "obj-8", 0 ] 5754 | } 5755 | 5756 | } 5757 | , { 5758 | "patchline" : { 5759 | "color" : [ 0.131345, 0.999677, 0.023624, 1.0 ], 5760 | "destination" : [ "obj-132", 0 ], 5761 | "midpoints" : [ 425.5, 338.125091, 105.75, 338.125091 ], 5762 | "order" : 1, 5763 | "source" : [ "obj-9", 1 ] 5764 | } 5765 | 5766 | } 5767 | , { 5768 | "patchline" : { 5769 | "color" : [ 0.131345, 0.999677, 0.023624, 1.0 ], 5770 | "destination" : [ "obj-181", 0 ], 5771 | "midpoints" : [ 308.5, 338.125091, 59.75, 338.125091 ], 5772 | "order" : 1, 5773 | "source" : [ "obj-9", 0 ] 5774 | } 5775 | 5776 | } 5777 | , { 5778 | "patchline" : { 5779 | "color" : [ 0.000111, 0.00176, 0.998218, 1.0 ], 5780 | "destination" : [ "obj-268", 0 ], 5781 | "midpoints" : [ 542.5, 345.10907, 445.75, 345.10907 ], 5782 | "order" : 1, 5783 | "source" : [ "obj-9", 2 ] 5784 | } 5785 | 5786 | } 5787 | , { 5788 | "patchline" : { 5789 | "color" : [ 0.000111, 0.00176, 0.998218, 1.0 ], 5790 | "destination" : [ "obj-454", 2 ], 5791 | "midpoints" : [ 542.5, 546.625122, 230.5, 546.625122 ], 5792 | "order" : 2, 5793 | "source" : [ "obj-9", 2 ] 5794 | } 5795 | 5796 | } 5797 | , { 5798 | "patchline" : { 5799 | "destination" : [ "obj-5", 0 ], 5800 | "order" : 0, 5801 | "source" : [ "obj-9", 0 ] 5802 | } 5803 | 5804 | } 5805 | , { 5806 | "patchline" : { 5807 | "destination" : [ "obj-6", 0 ], 5808 | "order" : 0, 5809 | "source" : [ "obj-9", 1 ] 5810 | } 5811 | 5812 | } 5813 | , { 5814 | "patchline" : { 5815 | "color" : [ 0.000111, 0.00176, 0.998218, 1.0 ], 5816 | "destination" : [ "obj-76", 0 ], 5817 | "midpoints" : [ 542.5, 345.10907, 570.75, 345.10907 ], 5818 | "order" : 0, 5819 | "source" : [ "obj-9", 2 ] 5820 | } 5821 | 5822 | } 5823 | ] 5824 | } 5825 | 5826 | } 5827 | -------------------------------------------------------------------------------- /Abstractions and Poly/quantize.maxpat: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "rect" : [ 25.0, 69.0, 344.0, 339.0 ], 5 | "bglocked" : 0, 6 | "defrect" : [ 25.0, 69.0, 344.0, 339.0 ], 7 | "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], 8 | "openinpresentation" : 0, 9 | "default_fontsize" : 10.0, 10 | "default_fontface" : 0, 11 | "default_fontname" : "Arial Bold", 12 | "gridonopen" : 0, 13 | "gridsize" : [ 15.0, 15.0 ], 14 | "gridsnaponopen" : 0, 15 | "toolbarvisible" : 1, 16 | "boxanimatetime" : 200, 17 | "imprint" : 0, 18 | "enablehscroll" : 1, 19 | "enablevscroll" : 1, 20 | "devicewidth" : 0.0, 21 | "boxes" : [ { 22 | "box" : { 23 | "maxclass" : "newobj", 24 | "text" : "+ 1", 25 | "patching_rect" : [ 165.0, 89.0, 32.5, 18.0 ], 26 | "id" : "obj-7", 27 | "outlettype" : [ "int" ], 28 | "fontname" : "Arial Bold", 29 | "fontsize" : 10.0, 30 | "numinlets" : 2, 31 | "numoutlets" : 1 32 | } 33 | 34 | } 35 | , { 36 | "box" : { 37 | "maxclass" : "toggle", 38 | "patching_rect" : [ 165.0, 62.0, 20.0, 20.0 ], 39 | "id" : "obj-6", 40 | "outlettype" : [ "int" ], 41 | "numinlets" : 1, 42 | "numoutlets" : 1 43 | } 44 | 45 | } 46 | , { 47 | "box" : { 48 | "maxclass" : "newobj", 49 | "text" : "r ---no_quantize", 50 | "patching_rect" : [ 165.0, 34.0, 86.0, 18.0 ], 51 | "id" : "obj-4", 52 | "outlettype" : [ "" ], 53 | "fontname" : "Arial Bold", 54 | "fontsize" : 10.0, 55 | "numinlets" : 0, 56 | "numoutlets" : 1 57 | } 58 | 59 | } 60 | , { 61 | "box" : { 62 | "maxclass" : "button", 63 | "patching_rect" : [ 253.0, 72.0, 20.0, 20.0 ], 64 | "id" : "obj-3", 65 | "outlettype" : [ "bang" ], 66 | "numinlets" : 1, 67 | "numoutlets" : 1 68 | } 69 | 70 | } 71 | , { 72 | "box" : { 73 | "maxclass" : "newobj", 74 | "text" : "gate 2", 75 | "patching_rect" : [ 165.0, 120.0, 107.0, 18.0 ], 76 | "id" : "obj-1", 77 | "outlettype" : [ "", "" ], 78 | "fontname" : "Arial Bold", 79 | "fontsize" : 10.0, 80 | "numinlets" : 2, 81 | "numoutlets" : 2 82 | } 83 | 84 | } 85 | , { 86 | "box" : { 87 | "maxclass" : "button", 88 | "patching_rect" : [ 45.0, 225.0, 20.0, 20.0 ], 89 | "id" : "obj-199", 90 | "outlettype" : [ "bang" ], 91 | "numinlets" : 1, 92 | "numoutlets" : 1 93 | } 94 | 95 | } 96 | , { 97 | "box" : { 98 | "maxclass" : "button", 99 | "patching_rect" : [ 45.0, 119.0, 20.0, 20.0 ], 100 | "id" : "obj-183", 101 | "outlettype" : [ "bang" ], 102 | "numinlets" : 1, 103 | "numoutlets" : 1 104 | } 105 | 106 | } 107 | , { 108 | "box" : { 109 | "maxclass" : "newobj", 110 | "text" : "r ---quantize_bang", 111 | "patching_rect" : [ 45.0, 87.0, 95.0, 18.0 ], 112 | "id" : "obj-184", 113 | "outlettype" : [ "" ], 114 | "fontname" : "Arial Bold", 115 | "fontsize" : 10.0, 116 | "numinlets" : 0, 117 | "numoutlets" : 1 118 | } 119 | 120 | } 121 | , { 122 | "box" : { 123 | "maxclass" : "newobj", 124 | "text" : "onebang", 125 | "patching_rect" : [ 45.0, 180.0, 52.0, 18.0 ], 126 | "id" : "obj-193", 127 | "outlettype" : [ "bang", "bang" ], 128 | "fontname" : "Arial Bold", 129 | "fontsize" : 10.0, 130 | "numinlets" : 2, 131 | "numoutlets" : 2 132 | } 133 | 134 | } 135 | , { 136 | "box" : { 137 | "maxclass" : "inlet", 138 | "patching_rect" : [ 253.0, 25.0, 25.0, 25.0 ], 139 | "id" : "obj-8", 140 | "outlettype" : [ "" ], 141 | "numinlets" : 0, 142 | "numoutlets" : 1, 143 | "comment" : "" 144 | } 145 | 146 | } 147 | , { 148 | "box" : { 149 | "maxclass" : "outlet", 150 | "patching_rect" : [ 45.0, 284.0, 25.0, 25.0 ], 151 | "id" : "obj-9", 152 | "numinlets" : 1, 153 | "numoutlets" : 0, 154 | "comment" : "" 155 | } 156 | 157 | } 158 | , { 159 | "box" : { 160 | "maxclass" : "message", 161 | "text" : "stop", 162 | "patching_rect" : [ 60.0, 150.0, 50.0, 16.0 ], 163 | "id" : "obj-2", 164 | "outlettype" : [ "" ], 165 | "fontname" : "Arial Bold", 166 | "fontsize" : 10.0, 167 | "numinlets" : 2, 168 | "numoutlets" : 1 169 | } 170 | 171 | } 172 | ], 173 | "lines" : [ { 174 | "patchline" : { 175 | "source" : [ "obj-1", 1 ], 176 | "destination" : [ "obj-2", 0 ], 177 | "hidden" : 0, 178 | "midpoints" : [ 262.5, 145.5, 69.5, 145.5 ] 179 | } 180 | 181 | } 182 | , { 183 | "patchline" : { 184 | "source" : [ "obj-2", 0 ], 185 | "destination" : [ "obj-193", 0 ], 186 | "hidden" : 0, 187 | "midpoints" : [ ] 188 | } 189 | 190 | } 191 | , { 192 | "patchline" : { 193 | "source" : [ "obj-8", 0 ], 194 | "destination" : [ "obj-3", 0 ], 195 | "hidden" : 0, 196 | "midpoints" : [ ] 197 | } 198 | 199 | } 200 | , { 201 | "patchline" : { 202 | "source" : [ "obj-7", 0 ], 203 | "destination" : [ "obj-1", 0 ], 204 | "hidden" : 0, 205 | "midpoints" : [ ] 206 | } 207 | 208 | } 209 | , { 210 | "patchline" : { 211 | "source" : [ "obj-6", 0 ], 212 | "destination" : [ "obj-7", 0 ], 213 | "hidden" : 0, 214 | "midpoints" : [ ] 215 | } 216 | 217 | } 218 | , { 219 | "patchline" : { 220 | "source" : [ "obj-4", 0 ], 221 | "destination" : [ "obj-6", 0 ], 222 | "hidden" : 0, 223 | "midpoints" : [ ] 224 | } 225 | 226 | } 227 | , { 228 | "patchline" : { 229 | "source" : [ "obj-3", 0 ], 230 | "destination" : [ "obj-1", 1 ], 231 | "hidden" : 0, 232 | "midpoints" : [ ] 233 | } 234 | 235 | } 236 | , { 237 | "patchline" : { 238 | "source" : [ "obj-199", 0 ], 239 | "destination" : [ "obj-9", 0 ], 240 | "hidden" : 0, 241 | "midpoints" : [ ] 242 | } 243 | 244 | } 245 | , { 246 | "patchline" : { 247 | "source" : [ "obj-193", 0 ], 248 | "destination" : [ "obj-199", 0 ], 249 | "hidden" : 0, 250 | "midpoints" : [ ] 251 | } 252 | 253 | } 254 | , { 255 | "patchline" : { 256 | "source" : [ "obj-184", 0 ], 257 | "destination" : [ "obj-183", 0 ], 258 | "hidden" : 0, 259 | "midpoints" : [ ] 260 | } 261 | 262 | } 263 | , { 264 | "patchline" : { 265 | "source" : [ "obj-183", 0 ], 266 | "destination" : [ "obj-193", 0 ], 267 | "hidden" : 0, 268 | "midpoints" : [ ] 269 | } 270 | 271 | } 272 | , { 273 | "patchline" : { 274 | "source" : [ "obj-1", 1 ], 275 | "destination" : [ "obj-199", 0 ], 276 | "hidden" : 0, 277 | "midpoints" : [ 262.5, 219.0, 54.5, 219.0 ] 278 | } 279 | 280 | } 281 | , { 282 | "patchline" : { 283 | "source" : [ "obj-1", 0 ], 284 | "destination" : [ "obj-193", 1 ], 285 | "hidden" : 0, 286 | "midpoints" : [ 174.5, 171.5, 87.5, 171.5 ] 287 | } 288 | 289 | } 290 | ] 291 | } 292 | 293 | } 294 | -------------------------------------------------------------------------------- /Javascript/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jesseengel/TimestretchLooper/50ebeaac69aa54b753b07dd5b99a3d7a1a066fbd/Javascript/.DS_Store -------------------------------------------------------------------------------- /Javascript/tslooper_OSC.js: -------------------------------------------------------------------------------- 1 | // tslooper2launchpad v1.0 2 | // Jesse Engel 3 | 4 | //__________SETUP__________ 5 | inlets = 1; 6 | outlets = 2; 7 | setinletassist (0, "OSC in") 8 | setoutletassist (0, "Commands Out") 9 | setoutletassist (1, "OSC Out") 10 | //______________________________ 11 | 12 | 13 | //__________GLOBAL VARIABLES__________ 14 | 15 | var _loopnum = 0; 16 | var _outprefix = "/tslooper/0"; 17 | 18 | //______________________________________ 19 | 20 | 21 | 22 | //********************OSC HANDLING******************** 23 | function anything() 24 | { 25 | var a = arrayfromargs(messagename, arguments); 26 | 27 | //Check for the right number of arguments 28 | if (a.length != 2) { return; } 29 | 30 | //make an array by splitting at "/" (OSC seperator) - first element will be null 31 | var value = a[1]; 32 | a = a[0]; 33 | a = a.split("/"); 34 | var prefix = a[1]; 35 | 36 | ////// 37 | // Timestretch Looper OSC Actions 38 | if ("tslooper" == prefix) { 39 | 40 | //extract data 41 | var loopnum = a[2] * 1.0; 42 | var command = a[3]; 43 | 44 | 45 | // validate loopernumber 46 | if (loopnum != _loopnum) { 47 | post (); 48 | post ("Loop Number (", loopnum, ") out of range (", _loopnum, ")"); 49 | return; 50 | } 51 | 52 | //act based on OSC command 53 | switch (command) { 54 | case "button": 55 | cmd_button(value); 56 | break; 57 | case "state": 58 | cmd_state(value); 59 | break; 60 | case "position": 61 | cmd_position(value); 62 | break; 63 | case "feedback": 64 | cmd_feedback(value); 65 | break; 66 | case "reverse": 67 | cmd_reverse(value); 68 | break; 69 | case "speed": 70 | cmd_speed(value); 71 | break; 72 | case "pitch": 73 | cmd_pitch(value); 74 | break; 75 | case "formant": 76 | cmd_formant(value); 77 | break; 78 | case "song_control": 79 | cmd_song_control(value); 80 | break; 81 | case "quantize": 82 | cmd_quantize(value); 83 | break; 84 | case "no_quantize": 85 | cmd_no_quantize(value); 86 | break; 87 | case "live_tempo": 88 | cmd_live_tempo(value); 89 | break; 90 | } 91 | } 92 | } 93 | //************************************************ 94 | 95 | //__________EXTERNAL FUNCTIONS__________ 96 | function loop(loopnum) 97 | { 98 | _loopnum = loopnum; 99 | _outprefix = "/tslooper/"+_loopnum; 100 | post("loopnum", _loopnum, "\n"); 101 | } 102 | 103 | function reverse_state(value) 104 | { 105 | outlet(1, _outprefix + "/reverse", value); 106 | } 107 | 108 | 109 | function state(value) 110 | { 111 | outlet(1, _outprefix + "/state", value); 112 | } 113 | 114 | 115 | function position(value) 116 | { 117 | outlet(1, _outprefix + "/position", value); 118 | } 119 | 120 | function speed(value) 121 | { 122 | outlet(1, _outprefix + "/speed", value); 123 | } 124 | 125 | function pitch(value) 126 | { 127 | outlet(1, _outprefix + "/pitch", value); 128 | } 129 | 130 | function formant(value) 131 | { 132 | outlet(1, _outprefix + "/formant", value); 133 | } 134 | 135 | function song_control(value) 136 | { 137 | outlet(1, _outprefix + "/song_control", value); 138 | } 139 | 140 | function quantize_value(value) 141 | { 142 | outlet(1, _outprefix + "/quantize_value", value); 143 | } 144 | 145 | function no_quantize(value) 146 | { 147 | outlet(1, _outprefix + "/no_quantize", value); 148 | } 149 | //_____________________________________ 150 | 151 | 152 | 153 | //__________INTERNAL FUNCTIONS__________ 154 | cmd_button.local = 1; 155 | function cmd_button(value) 156 | { 157 | outlet(0, "button", value); 158 | } 159 | 160 | cmd_state.local = 1; 161 | function cmd_state(value) 162 | { 163 | outlet(0, "state", value); 164 | } 165 | 166 | cmd_position.local = 1; 167 | function cmd_position(value) 168 | { 169 | outlet(0, "position", value); 170 | } 171 | 172 | cmd_feedback.local = 1; 173 | function cmd_feedback(value) 174 | { 175 | outlet(0, "feedback", value); 176 | } 177 | 178 | cmd_reverse.local = 1; 179 | function cmd_reverse(value) 180 | { 181 | outlet(0, "reverse", value); 182 | } 183 | 184 | cmd_speed.local = 1; 185 | function cmd_speed(value) 186 | { 187 | outlet(0, "speed", value); 188 | } 189 | 190 | cmd_pitch.local = 1; 191 | function cmd_pitch(value) 192 | { 193 | outlet(0, "pitch", value); 194 | } 195 | 196 | cmd_formant.local = 1; 197 | function cmd_formant(value) 198 | { 199 | outlet(0, "formant", value); 200 | } 201 | 202 | cmd_song_control.local = 1; 203 | function cmd_song_control(value) 204 | { 205 | outlet(0, "song_control", value); 206 | } 207 | 208 | cmd_quantize.local = 1; 209 | function cmd_quantize(value) 210 | { 211 | outlet(0, "quantize", value); 212 | } 213 | 214 | cmd_no_quantize.local = 1; 215 | function cmd_no_quantize(value) 216 | { 217 | outlet(0, "no_quantize", value); 218 | } 219 | 220 | cmd_live_tempo.local = 1; 221 | function cmd_live_tempo(value) 222 | { 223 | outlet(0, "live_tempo", value); 224 | } 225 | //_____________________________________ -------------------------------------------------------------------------------- /Javascript/tslooper_midi_control_OSC.js: -------------------------------------------------------------------------------- 1 | // tslooper2launchpad v1.0 2 | // Jesse Engel 3 | 4 | //__________SETUP__________ 5 | inlets = 1; 6 | outlets = 1; 7 | setinletassist (0, "OSC in") 8 | setoutletassist (0, "OSC Out") 9 | //______________________________ 10 | 11 | 12 | //__________GLOBAL VARIABLES__________ 13 | 14 | var _loopnum = 0; 15 | var _outprefix = "/tslooper/0"; 16 | var _midiBase = 60; 17 | var _midiUnit = 1; 18 | 19 | //______________________________________ 20 | 21 | 22 | 23 | //********************MIDI HANDLING******************** 24 | function list() 25 | { 26 | var a = arrayfromargs(messagename, arguments); 27 | 28 | //Check for the right number of arguments 29 | if (a.length != 2) { return; } 30 | //Check velocity > 0 31 | if (a[1] == 0) { return; } 32 | //Check pitch > midiBase 33 | if (a[0] < _midiBase) { return; } 34 | 35 | var bars = 0; 36 | var beats = 0; 37 | var units = 0; // 480 per a beat 38 | 39 | var pos = _midiUnit * (a[0] - _midiBase); // 16th notes 40 | if (pos >= 16) { 41 | bars = Math.floor(pos / 16); 42 | pos = pos % 16; 43 | } 44 | if (pos >= 4) { 45 | beats = Math.floor(pos / 4); 46 | pos = pos % 4; 47 | } 48 | units = pos * 120; // 120 units per a 16th note 49 | 50 | var bbu = bars + '.' + beats + '.' + units; 51 | 52 | position(bbu); 53 | } 54 | //************************************************ 55 | //__________EXTERNAL FUNCTIONS__________ 56 | function loop(loopnum) 57 | { 58 | _loopnum = loopnum; 59 | _outprefix = "/tslooper/"+_loopnum; 60 | post("loopnum", _loopnum, "\n"); 61 | } 62 | 63 | function base(midiBase) 64 | { 65 | _midiBase = midiBase; 66 | } 67 | 68 | function units(midiUnit) 69 | { 70 | if (midiUnit == "16n") { 71 | _midiUnit = 1; 72 | } else if (midiUnit == "8n") { 73 | _midiUnit = 2; 74 | } else if (midiUnit == "4n") { 75 | _midiUnit = 4; 76 | } 77 | } 78 | 79 | //__________TS LOOPER API__________ 80 | function reverse_state(value) 81 | { 82 | outlet(0, _outprefix + "/reverse", value); 83 | } 84 | 85 | 86 | function state(value) 87 | { 88 | outlet(0, _outprefix + "/state", value); 89 | } 90 | 91 | 92 | function position(value) 93 | { 94 | outlet(0, _outprefix + "/position", value); 95 | } 96 | 97 | function speed(value) 98 | { 99 | outlet(0, _outprefix + "/speed", value); 100 | } 101 | 102 | function pitch(value) 103 | { 104 | outlet(0, _outprefix + "/pitch", value); 105 | } 106 | 107 | function formant(value) 108 | { 109 | outlet(0, _outprefix + "/formant", value); 110 | } 111 | 112 | function song_control(value) 113 | { 114 | outlet(0, _outprefix + "/song_control", value); 115 | } 116 | 117 | function quantize_value(value) 118 | { 119 | outlet(0, _outprefix + "/quantize_value", value); 120 | } 121 | 122 | function no_quantize(value) 123 | { 124 | outlet(0, _outprefix + "/no_quantize", value); 125 | } 126 | //_____________________________________ 127 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | TimestretchLooper 2 | ================= 3 | 4 | An opensource MaxMsp / M4L looper. 5 | 6 | ![Timestretch Looper Picture](TimestretchLooper.png) 7 | 8 | Like Ableton Live's looper, TimestretchLooper does "sound on sound" recording, but also incorporates: 9 | 10 | - Independent speed and pitch controls, with the ability to change speed without altering pitch. 11 | 12 | - "Multiply" functionality for destructively changing the lengths of clips. 13 | 14 | - OSC input and output for controlling and monitoring any parameter of the device. 15 | 16 | - Companion "TSLooperMidiControl" device for controlling Looper playback via OSC -> sample cutting instrument like [mlr](https://github.com/monome-community/mlr). 17 | 18 | # Known Bugs 19 | 20 | - Windowing improvements needed. Makes pops occasionally with overdub and multiply, not with record, and usually when starting or stoping in the middle of an already present sound. 21 | 22 | # Feature Requests 23 | 24 | - Undo / Redo Functions -> More buffers. 25 | - Multiple Loops / Looper 26 | 27 | # Change Log 28 | 10/19/18 (JE) Added TSLooperMidiControl companion device. Converts incoming midi note pitches to playback positions for the looper. Allows sample cutting like [mlr](https://github.com/monome-community/mlr). 29 | 30 | 10/14/18 (JE) Dusted off the old device and replaced DiracLE with Max's awesome new(ish) groove~ functionality. This upates the device to work with 64-bit and now should work for both Mac and Windows. 31 | 32 | 01/18/13 (JE) Got things ready to be published online. It's time to let people play with it and make it their own. Please think of contributing to this project if you've got the time and interest :). 33 | 34 | 10/22/12 (JE) Changed Front Panel, more compact. Fixed slave no quantize on stop bug. Need to replace sync with js. Made formant !/1. Reduced CPU load by putting sound engine inside a poly that is off when cleared. 35 | 36 | 09/28/12 (JE) Replaced OSC code with javascript, timestretch_OSC.js. Added "Formant" functionality. Changed song control to "Master/Slave/Free" System. 37 | 38 | 09/01/12 (JE) Created "Rich Behavior" Midi Map Button. Made Variable Initial buffer Size. Fixed multiply bug (looplength -> max on 39 | record). Created "positon" variable (every 100ms) and now accepts and Sends OSC postion. 40 | 41 | 08/113/12 (JE) Got First Loop Capabilities and Tempo Set going. Replaced "Flattening" mode with just a multiply, more fun this way, even if you have ot pay a bit more attention to what's going on. First actual working version I would say. Still pops on overdub/record every once and a while, and crashes occasionally on multiply. FIxes the problem of overdub on reverse. 42 | 43 | 07/12/12 (JE) Gave up on keeping exact location when doing destructive overdub for time change. Created "Flattening" mode 44 | which is basically a 1 Loop length multiply. 45 | 46 | 06/15/12 (JE) Heavily revamped the code for readablity. Preparing for sharing with the community. Added Options for syncing change in tempo/speed, and following tempo. Fixed Multiply. Made all variables and buffers local. Finnally got the thing looking real clean. 47 | 48 | 4/22/12 (JE) Used "crop" to not need mxj for record and multiply. Created two buffer system. Cleaned up interface. Can use a similar scheme to always record speed changes into "record_buffer" 49 | 50 | 3/8/12 (JE) Made Record into bufSpeed on pitch change. Still need to make it change to bufPlay when 51 | i. Overdub has turned on 52 | ii. has completed one whole cycle 53 | Starting to get slow moving screen around with all the colored wires, might be a Java drawing problem. 54 | 55 | 3/5/12 (JE) Made Pitch and Speed look nice. Made Multiply button. Fixed clicking on Record. Overdub has more clicking due to mxj feedback. Seems like I might have to go back to poking just for the overdub section. 56 | 57 | 3/1/12 (JE) Fixed Overdub sync (%). Tidied up the interface 58 | 59 | 2/24/12 (JE) Still getting the occasional clicks. Low priority queue for je_Op? Implemented feedback 60 | Multiply enabled. Fixed overdubing for starting halfway and for going in reverse (with je_Op), although, might not need it come to think of it. Just need to do a "multiply" for any overdubs at different speeds. Fixed overdub keep going after clear (endlength started it). Created multiply instead of overdub if speed is changed. Put in speedlimit. Cleaned up a bit. Initialize Dirac speed, works by assigning it at the end of record. Synced Time changes. 61 | 62 | 2/22/12 (JE) Got Record and Overdub working smoothly 63 | 64 | 2/20/12 (JE) After much deliberation, decided to go to a multibuffer approach. Compensating Latency sucks. True sample accuracy and with my mxj je_Op external, it seems that buffer commands are pretty straightforward 65 | 66 | 2/11/12 (JE) Fixed the Waveform, made it colored 67 | 68 | 2/10/12 (JE) Got Initialization working. Live objects initialize after other objects. Live object model loads last. 69 | 70 | 1/30/12 (JE) got the sync working and a resizing, still need a realign feature to get it back on track every once in a while. Still has bugs on startup, not initializing proper. BPM Seems wrong on waveform. 71 | 72 | -------------------------------------------------------------------------------- /TSLooperMidiControl.amxd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jesseengel/TimestretchLooper/50ebeaac69aa54b753b07dd5b99a3d7a1a066fbd/TSLooperMidiControl.amxd -------------------------------------------------------------------------------- /TimestretchLooper.amxd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jesseengel/TimestretchLooper/50ebeaac69aa54b753b07dd5b99a3d7a1a066fbd/TimestretchLooper.amxd -------------------------------------------------------------------------------- /TimestretchLooper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jesseengel/TimestretchLooper/50ebeaac69aa54b753b07dd5b99a3d7a1a066fbd/TimestretchLooper.png --------------------------------------------------------------------------------