ArdOSC (Arduino simple OSC Library )

なぜにひさびさにArduinoやってたかとゆーと
CopyByEar用の外部デバイスとしてArduinoでコントローラを作ってしまおうと画策してまして
当然OSCを使うわけですが、どーも物足りなくなって、以前作ったOSCライブラリを作り直しておりました。
名前も一般的すぎて埋もれがちなのでバージョンアップを期に固有名詞もつけました

ArdOSC (Arduino simple Open Sound Control Protocol Library )

ArduinoOSCの略ですけど、Twitterを考慮して省略。なことなーない

前回の作っておいてなんですけど、結構ばっさり変えちゃいました。
もっとさっぱりコード少なめで書き直して、かつもうちょい使いやすくしてみてます。(かな?)

前回のは、OSCアドレス設定は2コにわけてたけど、めんどいので廃止。1つでザっと設定してしまいます。
OSCアドレスは255文字まで
Serverでの ? や * などのパターンマッチは実装しておりません。
素のOSCアドレスの取得はできるので(当然)各自で実装をお願いします。

Argumentの種類は
int32
float
string
の3種類。
timetagはRTCもないのでいれませんでした。

int32はArduinoでは “int” (16bit)ではなく “long int”(32bit)なので注意してください!

argument数は全部で16コまで入るようにしました(ほんとはもっと入るけど)

バンドル形式は実装していません。
また、標準のEthernet Shield専用です。
現在のArduino firmware0018で動作確認しております。

まだできたてホヤホヤなのでバグありそうだなー
もしへんなとこあったら優しく指摘してくださいませ。。。

exampleにはProcessingのサンプルも置いてあります。loop backテストができます
ただしProcessingはoscP5必須です。

とりあえずこんなところかなー

ArdOSCのコア(エンコード/デコード)部はほぼ普通のCなので移植も簡単かも?
OSCメッセージをバイナリ変換/逆変換できるので、シリアル系とかでもいけそ
そうそうiPhone用のOSCライブラリも作りたいところ。

Share on Facebook

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>