[Diary/2011/March]

sendBundleはArrayしか受け付けない / 2011-03-17 (木)

今日

学校の停電スケジュールが,真っ昼間ど真ん中なので,一日自宅で仕事.
さすがに今日は自宅も停電するだろうと思い,停電開始前にきちんと生鮮食料品でご飯を作り,停電時間は寝て過ごし,停電あけたら仕事再開!と思っていたら,
なぜか起きたのは停電明けて4時間後の18日午前2時……どういうこっちゃ.
俺の完璧なスケジューリングが!

SuperColliderのsclangのOSC送信でNetAddrのsendBundleが使えなかった話.
可変長配列であるところのListはそのままでは送れなくて,固定長配列のArrayしか送れない模様.
なのでいろいろ加工した不定長のリストの内容を送りたい場合は,

~engineAddr = NetAddr("localhost", 57120);
listToSend.insert(0, "/setValues");
~engineAddr.sendBundle(0.0, listToSend.asArray);

こんな感じで書いてやる必要がある. 受け取るときは,メッセージからもう一度リストを作ってやる.