Design Wave Magezine 6 月号は先月に続いて STM32 ARM 基板特集。今号では Processing から使用する例が紹介されている。4/14 の記事でも取り上げたが、このように Gainer 互換コマンド(のサブセット)を実装することで、このように簡単に Gainer システムを構成できる。
NetBSD でも Gainer と思って funnel の通信プロトコルを調べてみた。Java の rxtx ライブラリを NetBSD で動かせていないため、funnel サーバーを適当にでっち上げようとしているのだ。funnel の通信プロトコルは OpenSoundControl の TCP 版がベースなのだけれど、通信パケットの先頭にデータ長が付いていない。この辺りは UDP のスタイルがそのままだ。UDP ベースの JavaOSC を半ば無理矢理に TCP で使用しているためと思われる。コマンド(Command:OSC Message)とデータ(Notification:OSC Bundle)用に別のポートで通信をしているのも、この辺りの事情によるのかも知れない。それはともかく、UDP スタイルで一度の read で取得できたデータを OSC のデータパケットとしているため、現状はともかく将来的に長いデータを取り扱う場合には必ず問題が生じるだろう。仮にデータ長なしとするなら、4 byte 単位に受信して OSC Message (あるいは OSC Bundle) パケットの終末を識別しなければならない。
Posted by masato at 09:12 PMおそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。