2012年4月10日火曜日

oscpack 導入

oscpackの導入のメモ書き

oscpackのダウンロード
http://www.rossbencina.com/code/oscpack
Latest stable release, version 1.0.2をダウンロードする


魚拓
http://d.hatena.ne.jp/dairi_san/searchdiary?word=%2A%5B%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%5D

久しぶりにOSCをつかってみたら少し手間取ったのでメモ書きを残しておく。
0.osc関連ファイルはすべてプロジェクト内にコピーする。
1.ip/win32フォルダにあるcppをすべてipにコピーする
プロパティを開き以下の操作を行う
2.構成プロパティ->C/C++プリプロセッサに「__WIN32__」を追加する。
3.構成プロパティ->リンカ->入力の追加の依存ファイルに「ws2_32.lib」と「winmm.lib」を追加する。
おわり

ここで、__WIN32__ではなく”OSC_HOST_LITTLE_ENDIAN”とする。


/**** skeltalviewerへの適応 ****/
1.インクルードパスの設定
これは

と一連のファイルをソリューションに追加して、追加のインクルードディレクトリを設定する


※.cppファイルの中に"ip/........"というふうにインクルードする記述があるのでそれを注意する。


2.プリコンパイル済みヘッダーを使用しない
構成プロパティ→C/C++→プリコンパイル済みヘッダー
の"プリコンパイル済みヘッダー"のタグを"プリコンパイル済みヘッダーを使用しない"にする。
※この設定をしないとエラーが出てしまう。(未解決)


ここまでで一応通る。


3.ソースコード

/*------------------------------------------------
OSCセットアップ
------------------------------------------------*/
/**** ここから ****/
// インクルードファイル
#include "OscOutboundPacketStream.h"
#include "UdpSocket.h"
#include "IpEndpointName.h"

// アドレスとポートの設定
#define ADDRESS "localhost"
#define PORT 8000

#define IP_MTU_SIZE 1536

// ソケットを用意する
UdpTransmitSocket socket( IpEndpointName( ADDRESS, PORT) );
// 送信するパケットを用意(たぶん)
char buffer[IP_MTU_SIZE];
osc::OutboundPacketStream p( buffer, IP_MTU_SIZE);

/**** ここまで ****/


/*------------------------------------------------
OSCの送信関数
------------------------------------------------*/
void OscSender()
{
int temp = 123454321;
p.Clear();
p << osc::BeginMessage( "/test" )
<< (int)temp   //←ここに送信する値を入れる
<<osc::EndMessage;
socket.Send( p.Data(), p.Size() );
}

0 件のコメント:

コメントを投稿