Help us understand the problem. What is going on with this article?

oFでsyphonでVDMXする回

More than 5 years have passed since last update.

概要


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

脇田研輪読サブゼミ
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

発展させてみる


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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした