oscpack

oscpackはOpen Sound Control(以下OSC)パケットを扱うためのC++ライブラリだ。このライブラリにはパケット操作のほかに、UDPソケットを使った送受信の機能も用意されている。OSCを使うのに必要な機能はこれだけでほぼ全て揃うという、とても便利なライブラリだ。

僕はtouchOSCのクレジットの中にoscpackの表記があったことから、このライブラリの存在を知った。このライブラリは他にも様々なソフトウェアにおいて利用されており、OSCを使うためのライブラリとして代表的な存在となっているらしい。

oscpackの使い方はiostreamのそれに似ている。例えば、アドレス/foo/barに値0.45を送信するには、次のように記述する。

myOscStream << osc::BeginMessage("/foo/bar") << 0.45f << osc::EndMessage; 

使い方が分かりやすく、設計も洗練されており、とても便利なライブラリだと思う。ただObjective-Cとの食い合わせが悪く、.mmファイルの中でこのライブラリを使うことはできない。ソースを少し改造すれば対応も可能かもしれないが、メンテナンスの都合を考えるとちょっと面倒そうだ。僕はoscpackの使用箇所をObjective-Cコードから隔離することによって対処している。