1. Qiita
  2. 投稿
  3. openFrameworks

oFでsyphonでVDMXする回

  • 19
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

概要


注)編集中の内容です...スミマセン

脇田研輪読サブゼミ
oFと別環境と連携させて、いろいろ遊ぶための基礎編です。
今回は、VDMXというVJなどで使われる環境にoFから映像を入力してみましょう。そのためにsyphonというものを導入してみようと思います。

手順


  1. 必要なものをすべてダウンロード
  2. アドオンを使ってoF側にsyphonを導入
  3. 何か適当にアニメーションを書いてみる
  4. syphonにoFからアニメーションを送信してみる
  5. simple clientで受信してみる
  6. VDMXでアニメーションを受信してみる
  7. 発展させてみる

用意するもの


  • openframewroks -v0.8.4
  • ofxSyphon download
  • Syphon download * 以下2つをインスコしてきてください
    • simple server
    • simple client
  • VDMX download

アドオンを使ってoF側にsyphonを導入


  1. ofxSyphonをプロジェクトに追加して、新規プロジェクトを生成
  2. xcodeのプロジェクトファイル->general->Linked Framewroks and Librariesへと行き、coreVideo.frameworkを追加 (これやらないと、エラー出るので注意)
    framework.png

  3. 同じく、frameworkにsyphon.frameworkを追加する。
    addons/ofxSyphon/libs/Syphon/lib/osx/Syphon.framework

  4. xcodeの左パレット->addons->ofxSyhonにSyphonNameboundClient.mを追加する。(projectGeneratorでプロジェクトを生成した場合必要)
    Screen Shot 2015-05-20 at 16.22.18.png

addons/ofxSyphon/libs/Syphon/src/SyphonNameboundClient.m
この階層に飛んでSyohonNameboundClient.mをadd
Screen Shot 2015-05-20 at 16.22.52.png

何か適当にアニメーションを書いてみる


  • ofApp.h
#pragma once

#include "ofMain.h"

class ofApp : public ofBaseApp{

    public:
        void setup();
        void update();
        void draw();

    int r,add;

};

  • ofApp.cpp
#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    r=10;
    add=10;
}

//--------------------------------------------------------------
void ofApp::update(){
   if(r==200)add=-10;
    if(r==10)add=10;
    r=r+add; 
}

//--------------------------------------------------------------
void ofApp::draw(){
    //丸が大きくなったり、小さくなったりするだけのアニメーション

    ofSetColor(200, 0, 0);
    ofCircle(ofGetWidth()/2, ofGetHeight()/2, r);
}

syphonにoFからアニメーションを送信してみる


  • ofApp.h
#pragma once

#include "ofMain.h"
#include "ofxSyphon.h"

class ofApp : public ofBaseApp{

    public:
        void setup();
        void update();
        void draw();
    ofxSyphonServer output;
    int r,add;

};

  • ofApp.cpp
#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    output.setName("Main");
    r=10;
    add=10;
}

//--------------------------------------------------------------
void ofApp::update(){
   if(r==200)add=-10;
    if(r==10)add=10;
    r=r+add; 
}

//--------------------------------------------------------------
void ofApp::draw(){
    //丸が大きくなったり、小さくなったりするだけのアニメーション

    ofSetColor(200, 0, 0);
    ofCircle(ofGetWidth()/2, ofGetHeight()/2, r);
//ここで送信している
    output.publishScreen();
}

simple clientで受信してみる


右がoFのアプリケーションで、左がsyphon simple clientです。下のように同じものが出てたらとりあえず大丈夫!
Screen Shot 2015-05-20 at 14.17.48.png

VDMXでアニメーションを受信してみる


  1. VDMXを起動->Templates->simple mixerを選択
    Screen Shot 2015-05-20 at 14.22.44.png

  2. oFのアプリをビルド

  3. 右クリックでAdd clips from Built-in Sources->syphon->oFアプリを選択
    Screen Shot 2015-05-20 at 14.29.12.png

発展させてみる


まだ考えてないです、、ごめんなさい。