Created
July 31, 2017 04:14
-
-
Save micromeeeter/d7056e52c4af40f359a74b1e6d2d1adc to your computer and use it in GitHub Desktop.
SFC17年度春学期 画像処理プログラミング最終作品"ふりかえってもいない"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//画像処理プログラミング 最終課題 | |
//"ふりかえってもいない" | |
//松橋百葉(環境情報1年/71747568) | |
//参考: ProcessingでのUSBカメラ読み込み(https://office606.org/archives/529/) | |
import processing.video.*; //webcam使用用のライブラリ | |
import oscP5.*; //以下osc通信用のライブラリ | |
import netP5.*; | |
Capture video; //webcamから取得した画像 | |
PImage background; //1フレ前のカメラ画像 | |
PImage diff; //色抽出後の画像 | |
final int camWidth = 640; //webcamから取得する画像のサイズ | |
final int camHeight = 480; | |
int pos_now_x, pos_now_y; //物体の現在座標 | |
final int num = 10; //座標をバッファするフレーム数 | |
int[] pos_prev_x = new int[num]; //iフレーム前の物体の座標 | |
int[] pos_prev_y = new int[num]; | |
int pos_goast_x, pos_goast_y; //背後の座標 | |
float theta; //物体の動く方向角 | |
//以下osc準備 | |
OscP5 oscP5; | |
NetAddress myRemoteLocation; | |
void setup(){ | |
size(640, 960); | |
frameRate(10); | |
colorMode(RGB); | |
background(0, 0, 0, 255); | |
video = new Capture(this, camWidth, camHeight, "USBカメラ"); //参考URLを参照 | |
background = createImage(camWidth, camHeight, RGB); | |
diff = createImage(camWidth, camHeight, RGB); | |
pos_now_x = 0; | |
pos_now_y = 0; | |
for(int i = 0; i < num; i++){ | |
pos_prev_x[i] = 0; | |
pos_prev_y[i] = 0; | |
} | |
pos_goast_x = 0; | |
pos_goast_y = 0; | |
theta = 0.0; | |
oscP5 = new OscP5(this, 12000); | |
myRemoteLocation = new NetAddress("133.27.82.198", 12001); //実行後のコンソールを見て番地を変更する | |
video.start(); | |
} | |
void draw(){ | |
if(video.available()){ | |
video.read(); | |
int preX = 0; //重心座標(pos_now)を計算するための変数 | |
int preY = 0; | |
int sum = 0; | |
for(int x = 0; x < camWidth; x++){ | |
for(int y = 0; y < camHeight; y++){ | |
if(brightness(video.get(x,y)) < 50 && abs(brightness(video.get(x,y)) - brightness(background.get(x,y))) > 30){ //メモリにためておいた画像との差分のうち、黒いピクセルを抽出 | |
preX += x; //黒いピクセルの重心座標を計算 | |
preY += y; | |
sum++; | |
diff.set(x, y, color(0, 0, 255)); //黒と認められたピクセルは青く塗る | |
}else{ | |
diff.set(x, y, color(0, 0, 0)); //黒と認められなかったピクセルは黒く塗る | |
} | |
} | |
} | |
if(sum > 10){ | |
pos_now_x = int(preX / sum); | |
pos_now_y = int(preY / sum); | |
} | |
//確認用画面 | |
image(video, 0, 0, camWidth, camHeight); //入力画像 | |
image(diff, 0, camHeight, camWidth, camHeight); //黒色抽出画像 | |
fill(255, 0, 0); | |
ellipse(pos_now_x, pos_now_y, 50, 50); //現在の重心座標を赤い丸で表示 | |
//pos_prevに重心座標のバッファを貯める | |
if(frameCount == 0){ | |
for(int i = 0; i < 10; i++){ | |
pos_prev_x[i] = pos_now_x; | |
pos_prev_y[i] = pos_now_y; | |
} | |
}else{ | |
for(int i = 9; i > 0; i--){ | |
pos_prev_x[i] = pos_prev_x[i-1]; | |
pos_prev_y[i] = pos_prev_y[i-1]; | |
} | |
pos_prev_x[0] = pos_now_x; | |
pos_prev_y[0] = pos_now_y; | |
} | |
//10フレーム前の座標と現在の座標から進行方向角を計算 | |
theta = atan2(pos_prev_y[9] - pos_now_y, pos_prev_x[9] - pos_now_x); | |
//現在の座標の背後を撮るようにpos_goastを設定 | |
pos_goast_x = int(pos_now_x + 50 * cos(theta)); | |
pos_goast_y = int(pos_now_y + 50 * sin(theta)); | |
//pos_goastの座標を白い丸で表示 | |
fill(255, 255, 255); | |
ellipse(pos_goast_x, pos_goast_y, 50, 50); | |
//以下OSC通信 | |
OscMessage[][] mes = new OscMessage[2][2]; | |
for(int i = 0; i < 2; i++){ | |
for(int j = 0; j < 2; j++){ | |
mes[i][j] = new OscMessage("/" + i + "_" + j); | |
} | |
} | |
mes[0][0].add(camWidth - pos_goast_x); | |
mes[0][1].add(pos_goast_x); | |
mes[1][0].add(camHeight - pos_goast_y); | |
mes[1][1].add(pos_goast_y); | |
for(int i = 0; i < 2; i++){ | |
for(int j = 0; j < 2; j++){ | |
oscP5.send(mes[i][j], myRemoteLocation); | |
} | |
} | |
} | |
} | |
//スペースを押すと差分画像を取得するための元画像をキープできる | |
void keyPressed(){ | |
if(key == ' '){ | |
background.copy(video, 0, 0, camWidth, camHeight, 0, 0, camWidth, camHeight); | |
} | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"patcher" : { | |
"fileversion" : 1, | |
"appversion" : { | |
"major" : 7, | |
"minor" : 0, | |
"revision" : 0, | |
"architecture" : "x64", | |
"modernui" : 1 | |
} | |
, | |
"rect" : [ 129.0, 79.0, 652.0, 717.0 ], | |
"bglocked" : 0, | |
"openinpresentation" : 0, | |
"default_fontsize" : 12.0, | |
"default_fontface" : 0, | |
"default_fontname" : "Arial", | |
"gridonopen" : 1, | |
"gridsize" : [ 15.0, 15.0 ], | |
"gridsnaponopen" : 1, | |
"objectsnaponopen" : 1, | |
"statusbarvisible" : 2, | |
"toolbarvisible" : 1, | |
"lefttoolbarpinned" : 0, | |
"toptoolbarpinned" : 0, | |
"righttoolbarpinned" : 0, | |
"bottomtoolbarpinned" : 0, | |
"toolbars_unpinned_last_save" : 0, | |
"tallnewobj" : 0, | |
"boxanimatetime" : 200, | |
"enablehscroll" : 1, | |
"enablevscroll" : 1, | |
"devicewidth" : 0.0, | |
"description" : "", | |
"digest" : "", | |
"tags" : "", | |
"style" : "", | |
"subpatcher_template" : "", | |
"boxes" : [ { | |
"box" : { | |
"id" : "obj-42", | |
"maxclass" : "comment", | |
"numinlets" : 1, | |
"numoutlets" : 0, | |
"patching_rect" : [ 438.0, 177.0, 28.0, 20.0 ], | |
"style" : "", | |
"text" : "01" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-41", | |
"maxclass" : "comment", | |
"numinlets" : 1, | |
"numoutlets" : 0, | |
"patching_rect" : [ 442.0, 435.0, 24.0, 20.0 ], | |
"style" : "", | |
"text" : "11" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-40", | |
"maxclass" : "comment", | |
"numinlets" : 1, | |
"numoutlets" : 0, | |
"patching_rect" : [ 292.0, 435.0, 28.0, 20.0 ], | |
"style" : "", | |
"text" : "10" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-39", | |
"maxclass" : "comment", | |
"numinlets" : 1, | |
"numoutlets" : 0, | |
"patching_rect" : [ 292.0, 177.0, 24.0, 20.0 ], | |
"style" : "", | |
"text" : "00" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-37", | |
"maxclass" : "newobj", | |
"numinlets" : 4, | |
"numoutlets" : 0, | |
"patching_rect" : [ 377.0, 609.5, 77.0, 22.0 ], | |
"style" : "", | |
"text" : "dac~ 1 2 3 4" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-35", | |
"maxclass" : "gain~", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "signal", "int" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 473.0, 435.0, 22.0, 140.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-36", | |
"maxclass" : "gain~", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "signal", "int" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 323.0, 435.0, 22.0, 140.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-34", | |
"maxclass" : "gain~", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "signal", "int" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 473.0, 177.0, 22.0, 140.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-33", | |
"maxclass" : "gain~", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "signal", "int" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 323.0, 177.0, 22.0, 140.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-31", | |
"maxclass" : "ezdac~", | |
"numinlets" : 2, | |
"numoutlets" : 0, | |
"patching_rect" : [ 541.0, 609.5, 45.0, 45.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-25", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 473.0, 387.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-26", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "int" ], | |
"patching_rect" : [ 473.0, 349.0, 29.5, 22.0 ], | |
"style" : "", | |
"text" : "+" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-27", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 323.0, 387.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-28", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "int" ], | |
"patching_rect" : [ 323.0, 349.0, 29.5, 22.0 ], | |
"style" : "", | |
"text" : "+" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-23", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 473.0, 136.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-24", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "int" ], | |
"patching_rect" : [ 473.0, 98.0, 29.5, 22.0 ], | |
"style" : "", | |
"text" : "+" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-22", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 323.0, 136.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-21", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "int" ], | |
"patching_rect" : [ 323.0, 98.0, 29.5, 22.0 ], | |
"style" : "", | |
"text" : "+" | |
} | |
} | |
, { | |
"box" : { | |
"data" : { | |
"clips" : [ { | |
"filename" : "Macintosh HD:/Users/micromeeeter/Downloads/nc105155.wav", | |
"filekind" : "audiofile", | |
"loop" : 0, | |
"content_state" : { | |
"formantcorrection" : [ 0 ], | |
"pitchshiftcent" : [ 0 ], | |
"followglobaltempo" : [ 0 ], | |
"quality" : [ "basic" ], | |
"speed" : [ 1.0 ], | |
"pitchcorrection" : [ 0 ], | |
"originaltempo" : [ 120.0 ], | |
"slurtime" : [ 0.0 ], | |
"originallengthms" : [ 0.0 ], | |
"play" : [ 0 ], | |
"mode" : [ "basic" ], | |
"formant" : [ 1.0 ], | |
"pitchshift" : [ 1.0 ], | |
"timestretch" : [ 0 ], | |
"basictuning" : [ 440 ], | |
"originallength" : [ 0.0, "ticks" ] | |
} | |
} | |
] | |
} | |
, | |
"id" : "obj-20", | |
"maxclass" : "playlist~", | |
"numinlets" : 1, | |
"numoutlets" : 5, | |
"outlettype" : [ "signal", "signal", "signal", "", "dictionary" ], | |
"patching_rect" : [ 384.0, 27.0, 150.0, 30.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-11", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 150.0, 377.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-12", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "float" ], | |
"patching_rect" : [ 150.0, 338.0, 35.0, 22.0 ], | |
"style" : "", | |
"text" : "* 0.1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-13", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 150.0, 300.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-14", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "" ], | |
"patching_rect" : [ 150.0, 261.0, 65.0, 22.0 ], | |
"style" : "", | |
"text" : "route /1_1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-15", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 37.0, 377.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-16", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "float" ], | |
"patching_rect" : [ 37.0, 338.0, 35.0, 22.0 ], | |
"style" : "", | |
"text" : "* 0.1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-17", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 37.0, 300.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-18", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "" ], | |
"patching_rect" : [ 37.0, 261.0, 65.0, 22.0 ], | |
"style" : "", | |
"text" : "route /1_0" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-7", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 150.0, 208.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-8", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "float" ], | |
"patching_rect" : [ 150.0, 169.0, 35.0, 22.0 ], | |
"style" : "", | |
"text" : "* 0.1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-9", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 150.0, 131.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-10", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "" ], | |
"patching_rect" : [ 150.0, 92.0, 65.0, 22.0 ], | |
"style" : "", | |
"text" : "route /0_1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-6", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 37.0, 208.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-4", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 1, | |
"outlettype" : [ "float" ], | |
"patching_rect" : [ 37.0, 169.0, 35.0, 22.0 ], | |
"style" : "", | |
"text" : "* 0.1" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-3", | |
"maxclass" : "number", | |
"numinlets" : 1, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "bang" ], | |
"parameter_enable" : 0, | |
"patching_rect" : [ 37.0, 131.0, 50.0, 22.0 ], | |
"style" : "" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-2", | |
"maxclass" : "newobj", | |
"numinlets" : 2, | |
"numoutlets" : 2, | |
"outlettype" : [ "", "" ], | |
"patching_rect" : [ 37.0, 92.0, 65.0, 22.0 ], | |
"style" : "", | |
"text" : "route /0_0" | |
} | |
} | |
, { | |
"box" : { | |
"id" : "obj-1", | |
"maxclass" : "newobj", | |
"numinlets" : 1, | |
"numoutlets" : 1, | |
"outlettype" : [ "" ], | |
"patching_rect" : [ 37.0, 41.0, 106.0, 22.0 ], | |
"style" : "", | |
"text" : "udpreceive 12001" | |
} | |
} | |
], | |
"lines" : [ { | |
"patchline" : { | |
"destination" : [ "obj-10", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-1", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-14", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-1", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-18", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-1", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-2", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-1", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-9", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-10", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-26", 1 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-11", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-28", 1 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-11", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-11", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-12", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-12", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-13", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-13", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-14", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-21", 1 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-15", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-24", 1 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-15", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-15", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-16", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-16", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-17", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-17", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-18", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-3", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-2", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-33", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 1 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-33", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-34", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 1 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-34", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-35", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 1 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-35", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-36", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 1 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-36", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-20", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-22", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-21", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-33", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-22", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-34", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-23", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-23", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-24", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-35", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-25", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-25", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-26", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-36", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-27", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-27", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-28", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-4", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-3", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-37", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-33", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-37", 2 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-34", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-37", 3 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-35", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-37", 1 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-36", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-6", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-4", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-21", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-6", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-28", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-6", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-24", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-7", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-26", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-7", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-7", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-8", 0 ] | |
} | |
} | |
, { | |
"patchline" : { | |
"destination" : [ "obj-8", 0 ], | |
"disabled" : 0, | |
"hidden" : 0, | |
"source" : [ "obj-9", 0 ] | |
} | |
} | |
], | |
"dependency_cache" : [ ], | |
"embedsnapshot" : 0 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment