2016-04-01 9 views
2

に入ってくるOSCメッセージを変換しますここでは、今どのような作品だTUIO 2Dcur

  • マイクロコントローラは、2つのタッチ面を読み込むUSB経由10ms毎(this libraryを使用して)、単一のOSCバンドルとして出力します。

  • Chromeアプリケーションは、chrome.serialを経由してUSB経由で(this libraryを使用して)これらのOSCバンドルを受信して​​、とても良い、これまでのところ、canvas要素

に表示します。

次に、これらのメッセージをUDP経由でTUIOクライアントに送信します。最初のステップとして、私はUDP(再びosc.jsを使用して)を介してOSCメッセージを送信できることを確かめましたが、実際にはこれが機能します。

は、ここに私のChromeアプリケーションで見られるように、いくつかのメッセージ例です:

// console.log(JSON.stringify(msg)) gives results like this: 
{"address":"/p0","args":[2369,1683,170]} 
{"address":"/p1","args":[1906,1752,137]} 
{"address":"/p1","args":[1906,1752,137]} 

私はTUIOメッセージにこれらを回す方法を教えてください。

このChromeアプリをさまざまなTUIOクライアント実装(ノード、ブラウザ、Ruby、Python、処理)に接続しようとしましたが、結果が不正なメッセージのためにクラッシュするか、何もない。

ここで私が試したいくつかのメッセージのフォーマットはありません成功し、以下のとおりです。私はここで間違って何をやっている

osc.send(msg); 
osc.send({address:"/tuio/2Dcur", args:msg.args}); 
osc.send({address:"/tuio/2Dcur", args:["alive"].concat(msg.args)}); 
osc.send({address:"/tuio/2Dcur", args:["set"].concat(msg.args)}); 

答えて

1

最後に私が逃したものを発見しました。私が今まで使ってきたTUIOクライアントは、OSC bundlesと期待していますので、私のアプリは次のようにバンドルを送信する必要があります:

my_osc.send({ 
    timeTag: osc.timeTag(0), 
    packets: [ 
    {address:'/tuio/2Dcur', args: ['alive'].concat(my_session_id)}, 
    {address:'/tuio/2Dcur', args: ['set'].concat(my_session_id).concat(my_data)} 
    ] 
}); 
関連する問題