openframeworks 0.8.1

明日4月から個人的に仕事で忙しくなります!
スキルつけたい。

本業がんばると同時に最近openframeworksが0.8.1になったので、ずっと0.7.4で俺俺環境組んでた僕ですが、これを機に新しいプロジェクトでは移行しようと思います。

ついでにjitter関連の記事書いてたこのブログでも、しばらくはoFに関しての自分メモとして使っていこうかなと思います。

0.7.4でぐだぐだ書き足してきたutilityを組み直すと思うとゾッとする面もありますが、ゆっくりやっていこう。

Max/MSPのObjectDefaultをいじる

Web開発の課題とかmxj書くのに使ってるeclipseのテーマを目に優しいものに変えたついでに、


他の環境のUIももうちょっといじってみたいなーと思いまして、とりあえず我らがMax/MSP JitterのObject Defaultを変更してみたいと思います。
Max/MSPのメニューからoptions --> Object Defaultsの項目でデフォルトのオブジェクトの色などを変更できます。
とりあえず暫定的にこうなりました。もっともっと変えるかもしれないけれど。



ナンバーボックスなどUIオブジェクト系は違いがわかるように今のところあまり変えていません。
まあ汚いパッチングとかそれ自体が変わる訳ではありませんが、自分なりの環境を整えることでより愛せる開発環境になったのではないでしょうか。

これでデフォルトのオブジェクトカラーやパッチャーの色が変わった訳ですが、もちろん、ライブなどでメインで使用するパッチ等、個別にしっかりUIを組みたい場合はPatcher Inspecterや各Object Inspecterで調整できます。

最近忙しすぎて、楽しそうなイベントのお誘いを泣く泣くお断りすることが多いですが...

気が向いたら空いた時間にeclipseでmxjを組んでみることが多くなりました。
javaなので簡単に実装まで持っていけながらも、自由にアトリビュートを設定できるオブジェクトを作れるので、実はアイディア次第で長く使えるものも作れちゃいます。


自分で作った、自動で3つのランダム値を出す奴とか、アトリビュートの数だけ1が入力されないと最終アウトプットが1にならないスイッチとか、地味ーに便利です。

Kawakami Kohei -"Page 1 of 2" Pop VJ Clip

Kawakami Kohei氏の曲を借りてjitterで遊んでみました。一台で被写界深度つけながらリアルタイムジェネレート&リアルタイム録画やっぱり多少きついですね


Kawakami Kohei -"Page 1 of 2" Pop VJ Clip from Naoto Fushimi on Vimeo.

mxjのテスト

自分用メモ
スゴい今更ながらmxj試したかったので勉強してる。道具がひとつ増えてく感いいなー

bangメッセージ送ると、つながってるjit.gl.pathオブジェクトにpathアトリビュートの数だけ適当にパス書いてくれるプログラム。



以下mxj

import com.cycling74.max.*;

public class test2 extends MaxObject
{
public int path=15;
private static final String INLET_ASSIST = new String{
"inlet 1 help"
};
private static final String OUTLET_ASSIST = new String{
"outlet 1 help"
};

public test2(Atom args)
{
declareInlets(new int
{DataTypes.ALL});
declareOutlets(new int{DataTypes.ALL});

setInletAssist(INLET_ASSIST);
setOutletAssist(OUTLET_ASSIST);

declareAttribute("path");

}



public void bang()
{
double a = 0.0001;
double mat = new double[3];
int i =3;
int qwe=0;
double posef;
double scale;

// fase1


for( qwe =0; qwe*1-0.5)*1.2;
mat[i]=noise;

}
outlet(0,"append",mat);
// fase2
outletBang(0);

//fase3
if(qwe==0 || qwe== path-1){
posef=0.01;
}else{
double decide = Math.random();
if(decide>0.5){
posef=1.3;
}else{
posef=0.2;
}
}

//fase 4
double rnd = (Math.random()*3.0)+0.1;
scale=rnd*posef;
outlet(0,"addscale",scale);


}

}// void bang end
public void inlet(int i)
{
}

public void inlet(float f)
{
}


public void list(Atom[] list)
{
}

}

*1:Math.random(