作者 主题: 关于在Processing中使用MIDI Controller的问题  (阅读 2119 次)

BXM

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • 帖子: 14
关于在Processing中使用MIDI Controller的问题
« 于: 五月 10, 2015, 03:39:52 pm »
大家好!我想在用MIDI控制器的推子控制Processing中的变量,进而直接使用MaxMSP中的数值输入到P中使用,已经试过Maxlink,oscP5, themidibus, promidi等,基本的数据传输解决了,但是我对Processing的文本语言太陌生了,导致一修改程序就报错,经常顾此失彼。以P自带的SpaceJunk为例,怎样才能利用promidi引入MIDI控制器的推子数据代替“mouseX”?


程序代码: [选择]

/**
 * Space Junk 
 * by Ira Greenberg (zoom suggestion by Danny Greenberg).
 *
 * Rotating cubes in space using a custom Cube class.
 * Color controlled by light sources. Move the mouse left
 * and right to zoom.
 */

// Used for oveall rotation
float angle;

// Cube count-lower/raise to test performance
int limit = 500;

// Array for all cubes
Cube[] cubes = new Cube[limit];

void setup() {
  size(640, 360, P3D);
  background(0);
  noStroke();

  // Instantiate cubes, passing in random vals for size and postion
  for (int i = 0; i < cubes.length; i++){
    cubes[i] = new Cube(int(random(-10, 10)), int(random(-10, 10)),
                        int(random(-10, 10)), int(random(-140, 140)),
                        int(random(-140, 140)), int(random(-140, 140)));
  }
}

void draw(){
  background(0);
  fill(200);

  // Set up some different colored lights
  pointLight(51, 102, 255, 65, 60, 100);
  pointLight(200, 40, 60, -65, -60, -150);

  // Raise overall light in scene
  ambientLight(70, 70, 10);

  // Center geometry in display windwow.
  // you can changlee 3rd argument ('0')
  // to move block group closer(+) / further(-)
  translate(width/2, height/2, -200 + mouseX * 0.65);

  // Rotate around y and x axes
  rotateY(radians(angle));
  rotateX(radians(angle));

  // Draw cubes
  for (int i = 0; i < cubes.length; i++){
    cubes[i].drawCube();
  }
 
  // Used in rotate function calls above
  angle += 0.2;
}


多谢!

shadynzx

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • 帖子: 5
Re: 关于在Processing中使用MIDI Controller的问题
« 回复 #1 于: 五月 11, 2015, 07:32:59 pm »
http://www.conceptualinertia.net/aoakenfo/sketch-1

正好看到的 :) 不知道是不是你想要的

BXM

  • Newbie
  • *
  • Thank You
  • -Given: 1
  • -Receive: 0
  • 帖子: 14
Re: 关于在Processing中使用MIDI Controller的问题
« 回复 #2 于: 五月 12, 2015, 04:17:15 pm »
用这个基本搞定了,谢谢。只是在画面中始终有controlP5的slider,很影响视觉 ...

shadynzx

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 1
  • 帖子: 5
Re: 关于在Processing中使用MIDI Controller的问题
« 回复 #3 于: 五月 15, 2015, 12:39:08 am »
用这个基本搞定了,谢谢。只是在画面中始终有controlP5的slider,很影响视觉 ...

其实网址链接内容我自己都没看 能帮你解决还挺高兴 可以隐藏掉的吧 ~ 我不知道你代码什么样的 :)

RavenKwok

  • Sr. Member
  • ****
  • Thank You
  • -Given: 23
  • -Receive: 36
  • 帖子: 277
  • Artist/ Animator/ Coder/ Cynical Asshole
Re: 关于在Processing中使用MIDI Controller的问题
« 回复 #4 于: 五月 17, 2015, 08:16:12 am »
用这个基本搞定了,谢谢。只是在画面中始终有controlP5的slider,很影响视觉 ...


两种(或以上)解决方式:

1. 创建另一个Frame 与PApplet,把GUI 放在里面,独立于影像之外。
2. 设置一个按键触发隐藏或显示GUI 组件,函数貌似是hide() 或者 show(),具体可以参考controlP5 文档:http://www.sojamo.de/libraries/controlP5/reference/index.html

Tags:
 


Back to top