Maxへメッセージを送るには、; max ナントカというメッセージ・ボックスを使いますけど、アーギュメントがmaxであるforwardオブジェクトにメッセージを送ってもいいのね。知らなかった、ってか、ヘルプにもリファレンスにも書いていないような…以下はどちらも、Overdriveモードのオン・オフです。

Maxへメッセージを送るには、; max ナントカというメッセージ・ボックスを使いますけど、アーギュメントがmaxであるforwardオブジェクトにメッセージを送ってもいいのね。知らなかった、ってか、ヘルプにもリファレンスにも書いていないような…以下はどちらも、Overdriveモードのオン・オフです。

いや、記事にするのも恐縮なんですが、システム警告音を鳴らすだけ(!)のオブジェクト、aka.beepを公開しました。ちょっと必要があって作ったのですが、SysBeep()一発で10分もかからずに作れちゃうもので….ヘルプ・パッチがすがすがしい(笑)。

優秀な学生くんがササっと編集してくれて、先日のダンス公演のムービーができました。リンク先はNIME(という国際学術会議)へのプロポーザル資料ですが、よろしければご覧ください。
http://www.iamas.ac.jp/project/mirage/nime07/

シーンの切り替わりがちょっと変ですけど、そのうち修正されるでしょう(希望)。
あと、YouTubeにもアップしました。以下に貼付けておきますが、品質は上記リンク先のほうがいいので、そちらもよろしく。
専用オブジェクトを作らなくても云々と言っていた矢先に作りました(苦笑)。今回は、Objective-C(Cocoa)のコードを翻案するんじゃなくって、ラッパーを作ってMaxのC(Carbon)から呼び出す&呼び返すことを試してみたかったので、という言い訳です。Objective-CがCのスーパーセットであることをAppleも配慮しているみたいで、ドキュメントもそこそこしっかりしていました。
てなわけで、今回のハイブリッド・オブジェクトはちゃんと動いているみたいです(願望)。Apple Remoteが使える人は試してみてください。ダウンロードはいつものaka.objectsからどうぞ。exclusiveを1にして(これがデフォルトなので何もしなくてOK)オープンすると、Front Rowが起動しない状態でApple Remoteが使えます。

注意すべきことは、ボタンによっては普通のキーボードみたいに動作してくれないことです。これはHIDの段階でボタンの長押しの判定をしてるためで、余計なお世話なんですけどね。これも回避したいところなんですが、今のところ分かりません。
やられました! toggleの出力って0か1とは限らないんですね。

なんとなく、数値を受け取ると0か1に変換して出力するような気がしていましたが、受け取った数値をそのまま出力するんですね。超基本オブジェクトなのに何年も勝手な思い違いをしてたようです(汗)。何を今更と言われそうですが、こういう情けない記事もたまにはよろしいかと(苦笑)。
今日の私クエストは、Apple RemoteをMaxで使うにはどうする?でございました。Apple RemoteはMacBook(Pro)/iMac/Mac miniに標準で備わっているリモコンで、hiオブジェクトで簡単に情報が得られるんだけど、Menuボタンを押すとFront Rowが起動したり、+/-ボタンで音量調整になったりで、システム標準の機能がMaxでは邪魔なわけです。
解決策:AppleRemoteを起動して、hiオブジェクト
WEBサーチしてみると、Apple RemoteをHIDとしてオープンする時に排他モード(kIOHIDOptionsTypeSeizeDevice)を指定すれば、Front Rowなどのシステム機能が働かないことが判明。とは言え、hiオブジェクトにはそんなモード指定はないですよね。
そこであれこれ試した結果、Martin Kahr氏のAppleRemote(というアプリケーション)を起動すれば、こいつがFront Rowなどを抑制してくれて、hiオブジェクトでMenuボタンや+/-ボタンを含めてすべてのボタン情報が得られました。
AppleRemoteアプリは押されたボタンを画面表示するだけのテスト・プログラムで、Open device in exclusive modeにチェックを入れて、Listen to RemoteボタンをクリックすればOKです。このアプリは同氏のSource Codeページからダウンロードできます。後半にあるApple Remote Test Program (Binary only)というリンクね。ソースコードや他のApple Remote関係ユーティリティへのリンクもあります。

というわけで、専用オブジェクトを書かずに済みました。Apple Remoe(リモコン)は赤外線方式なので、ステージなどの広い場所では指向性が問題になりそうですけど、小さくて手軽に使えるのが良いですね。数個のボタン操作で済む用途にどうぞ。
aka.wiiremoteの1.0B5を公開しました。ダウンロードはいつものaka.objectsから。
追加・変更点は、
・ヌンチャクをサポート
・デバイス・アドレスをサポート
・アウトレットと出力メッセージを変更
・入力メッセージの一部を簡略化
・ヘルプ・パッチを拡張
ってなとこです。
長ったらしいパッチがイヤなんですけど、仕方がないかな。デバイス・アドレスは2台以上のWiiリモコンを区別したい時に指定ね。

ところで、WiiのOperaでYouTubeもOKなのね。なかなかよろしげ。
遅ればせながらWiiコンソール(本体)が届きました。さすがに本家がWiiリモコンをどのように使っていのるかは参考になります。これまでオブジェクトではできなくて分かっていなかったんだけど、面白かったのはWiiリモコンのスピーカーでした。対戦ゲームなどで、自分と相手の手元から音が聞こえるのは新鮮。WiiLi.orgなどでは音源チップの解析が進んでいるみたいなので、MSPから音を流し込めるようにしたいですね。あと、次期Wiiリモコンではマイクも是非欲しい。
![]()
Wii本体にヌンチャクがついていたので、これを使えるようにしました。ただ、アウトレットが増えるのがイヤだったので、出力メッセージを変更する方向で考えています。あと、PowerPCでの安定性も改善したいところなんだけど、まだ解明しきれていません。G5+BT adaputerでは安定しているんだけど、PBG4ではちょっと問題があったりします。
ちなみに、自宅(研究室にも)にテレビがないので、Wiiを接続するのに妙に苦労しました(笑)。取り敢えず、プロジェクタで対処したんだけど、センサーバーはスクリーン(壁)に貼付けるのか?とか、AVケーブル割かなきゃアンプ&スピーカー(前方)とプロジェクタ(後方)に配線できないよ、とかね。レガシー・テクノロジー(家電)ってホント大変です。HDMI化望む。
Wiiリモコンを初めて使う時には「Bluetooth設定アシスタント」を使った設定(ペアリング)が必要ですが、Cliff氏が作ったRVL Enablerを使えば簡単に済むことが分かりました。RVL EnablerのSearchボタンをクリックして、WiiリモコンのSyncボタンを押すだけ。

何台ものペアリングをしなければならない人はマストハブね(笑)。もうすぐ十数台のWiiリモコンで遊ぶ(?)ことになっています。ギネスブックに申請できるかな?
またまた新しいオブジェクト、緊急モーション・センサー(SMS)の情報を取得するaka.bookmotionです。ダウンロードは、サイドバーのaka.objectsからどうぞ。

SMSは2005年初頭以降に登場したPowerBook G4/iBook G4/MacBook Pro/MacBookに備わっている加速度センサーで、SMSから得られる情報はXとYについては重力加速度に対する傾き情報になりますね(ブンブン振り回せないし)。Zも重力加速度に対する値なんだけどね。これまたソース・コードがあったのでMaxへのポーティング自体は簡単でしたけど、かなり時間がかかったのは、ヘルプ・パッチにある矢印の画像でございました(涙)。
それから、キャリブレーションや落下検知機能(警報が鳴っても既に遅いかも〜笑)もパッチで組んでみたんだけど、こんな感じでいいのかな。
てなわけで、オブジェクトを作ることが多い今日この頃ですが、そろそろ止めます。さすがに飽きてきました(笑)。