Resolume 6 からProcessing3.xソースをコントロールする話

つまずいたのでメモってやつですね。

#まず

VJする際にProcessingやoF、Unity、TouchDesigner等をジェネソースにして、
ResolumeやVDMX等に流し込み、エフェクトかけたりマッピング用に配置して出力。という構成がぼちぼちあるかと思います。

おそらく、ジェネ側をRunし、Spout/SyphonやNDI経由でVJソフトに送出するやり方がメジャーな気がします。


>参考
>ProcessingとResolumeを連携させて、映像作ってみた時の話
>https://qiita.com/_miki/items/3e1ee4947ca4f456fa38

このやり方の場合、ジェネ側とVJソフト側の両方をMIDIコン１台でコントロールできない(MIDI→OSCにするのもなしではないが。)、またジェネ側のパラメータのモニタリングを別窓で用意しなければならないことが大変面倒くさい。

なんとかしてResolumeプリセットのジェネソースみたいにResolumeからパラメータを扱えないものか。でもFFGLプラグインを自分で書くのはハードル高いし資料もない、、

そこで今回はSpout Controllerを使ってVJソフト側のResolume Avenue or Arena 6 からジェネ側Processing 3.xのパラメータ操作をする話をします。(Windows用です。)
もちろんMIDIコンもFFGLプラグインのようにResolumeからパラメータにアサインできます。便利。


#本題
内容は9割8分コレです。
http://ericmedine.com/spout-controller-for-resolume/

ざっと読めば
「ほーん。要は裏でsketchをRunしてパラメータを渡してやってるだけか、でもちょっと便利そう。」って感じになると思います。

いざ上記ページ通りに進めたはずなのに動作せず、頑張って念じましたが2時間くらい失いました。

動作までの手順を補足しながらメモとして残します。
元の分を引用してますが、現環境に置き換えつつの解説になってます。

####まず要件
>What you will need to run Processing in Resolume:
– Computer (duh), PC running at least win7, ATI Radeon HD 5000 series or better. NVIDIA GeForce 210 or better. 256MB of VRAM, 2GB RAM (these are the minimum system requirements for Resolume)
– Processing environment (64 bit– important!!) and compiler (download here:  https://processing.org/download/?processing
– Spout for Processing Library (64 bit– important!!). This is a library for Processing that lets you run Spout. You can add it to your Processing library by starting Processing, then going to Sketch > Import Library > Add Library and then search for Spout (or download here: https://github.com/leadedge/SpoutProcessing/wiki
– Spout Controller executable and demo (download the executable here:  http://spout.zeal.co/download-spoutcontrols/

マシンスペック的な部分はResolumeに従います。
現バージョンの最小要件&推奨要件はこちら
https://resolume.com/support/ja/tech-specs
僕の環境ではWin10 RAM64GB 6700K GTX1070で動かしてます。

続いてProcessingをダウンロード
64bitバージョンを選択するんだ！とのこと。
https://processing.org/download/?processing

そしてProcessingにSpoutライブラリの追加
こちらも64bitバージョンを選択するんだ！とのこと。
日本語環境だとProcessing起動してサブメニューから
`スケッチ→ライブラリをインポート→ライブラリを追加`
でContribution Managerが立ち上がるので
LibrariesタブのFilterにSpoutと打てば出てくる
`Spout for Processing 2.0.6.0`をインストール
(たぶん64bit版Processingでやれば自動で64bit版Spoutライブラリがインストールされるはず)

続いてSpoutControlsのインストール
ここからできます。
http://spout.zeal.co/download-spoutcontrols/


####デモスケッチ起動手順
>Instructions for running the demo sketch in Resolume
1) Unzip and drag the folder with your sketch (should be called CirclesAndLines) into Resolume/plugins/vfx folder and run it once (open >it in Processing and click the “Play” button).

解凍うんぬんとありますが、これは
`C:\Program Files (x86)\SpoutControls\EXAMPLES\PROCESSING\x64\CirclesLinesDemo`
フォルダでOK
これを`C:\Users\Documents\Resolume Arena 6\Extra Effects`にコピペ。

>2) Find the FREEFRAMEGL>x64 folder inside your SpoutControls folder (you’ve installed SpoutControls, right?) and drag/copy the “SpoutController.dll” file into the Resolume/plugins/vfx folder. IF YOU DON’T DO THIS YOUR CONTROLS WON’T SHOW UP IN RESOLUME!

デフォルトでは`C:\Program Files (x86)\SpoutControls\FREEFRAMEGL\x64`
にある`SpoutController.dll`を
`Resolume Arena 6\plugins\vfx`内にコピペ
(ドキュメントフォルダにもResolume Arena 6があるが、Program Files内の方。)

>3) Start Resolume. The correctly named sketch title (“CirclesAndLines”) should appear in Sources/FFGL Sources

>4) Drag the title (“CirclesAndLines”) from Sources/FFGL Sources into a Resolume cell just like you would any other video source.

>Processing should launch behind the scenes (it may ask if you are sure you want to launch the .exe, click ‘yes!). You have installed Processing 64bit on your machine, right? Right?

>5) Click on the cell and the sketch should play, it should have controls like “Number Circles”, “Show Lines”, etc.

あとはResolumeを起動してBrowserパネルのSourceタブ内、Generatorsの中にあるCircleLinesDemoを適当なコンポジションにアサインしてあげれば表示されます。

<img src="https://qiita-image-store.s3.amazonaws.com/0/253285/ab8d0ab2-8170-c0af-2064-0c13c044e46b.jpeg" width=40%>

本題だったパラメータもきちんと表示されてます。
<img src="https://qiita-image-store.s3.amazonaws.com/0/253285/b57568df-baa6-e2e3-30d4-2c12792cacf6.jpeg" width=80%>

めでたし！おわり。
最初の立ち上がり時はおっそいですが、その後は裏で動いてるので
パチパチ切り替えても大丈夫っぽい。
使い方てきには複数シーンを1スケッチで書いてProcessing内でシーン切り替えするのが現実的かなと思います。

#ちなみに
僕が2時間格闘した原因は
元記事内にあるgithubからSpoutControlsインストーラをダウンロードして使ったことでした。
こちらはよくみるとバージョンがSpoutControls 1.006 betaで止まっていて、
githubでは64bit対応のv1.010はリリースされてないです。注意。
https://github.com/leadedge/SpoutControls/releases

#次回
SpoutControlsの使い方を解説しようかとおもいます。近いうちに、、