Device」カテゴリーアーカイブ

Music for 18 Wiimotes

今日から佐近田さんのNUASで、Wiiリモコンを十数台用意してもらってワークショップを始めました。ずらっと並べるとなかなか壮観です。

18wiiremotes.jpg

この準備の過程で分かったのは、1台のコンピュータに接続できるWiiリモコンは5台が限度(らしい)ってことです。5台まではスムースに接続できるんだけど、6台目からはいろいろ試しても接続できないそうです。これがBluetoothあるいはMac OS Xの限界なのか、Wiiリモコン特有の限界なのかは分かっていませんし、何らかの方法で6台以上接続できるかもしれませんけどね。

aka.appleremote登場

専用オブジェクトを作らなくても云々と言っていた矢先に作りました(苦笑)。今回は、Objective-C(Cocoa)のコードを翻案するんじゃなくって、ラッパーを作ってMaxのC(Carbon)から呼び出す&呼び返すことを試してみたかったので、という言い訳です。Objective-CがCのスーパーセットであることをAppleも配慮しているみたいで、ドキュメントもそこそこしっかりしていました。

てなわけで、今回のハイブリッド・オブジェクトはちゃんと動いているみたいです(願望)。Apple Remoteが使える人は試してみてください。ダウンロードはいつものaka.objectsからどうぞ。exclusiveを1にして(これがデフォルトなので何もしなくてOK)オープンすると、Front Rowが起動しない状態でApple Remoteが使えます。

akaappleremote_m.gif

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

Apple RemoteをMaxで使う

今日の私クエストは、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関係ユーティリティへのリンクもあります。

appleremote.jpg

というわけで、専用オブジェクトを書かずに済みました。Apple Remoe(リモコン)は赤外線方式なので、ステージなどの広い場所では指向性が問題になりそうですけど、小さくて手軽に使えるのが良いですね。数個のボタン操作で済む用途にどうぞ。

aka.wiiremote 1.0B5

aka.wiiremoteの1.0B5を公開しました。ダウンロードはいつものaka.objectsから。

追加・変更点は、
・ヌンチャクをサポート
・デバイス・アドレスをサポート
・アウトレットと出力メッセージを変更
・入力メッセージの一部を簡略化
・ヘルプ・パッチを拡張
ってなとこです。

長ったらしいパッチがイヤなんですけど、仕方がないかな。デバイス・アドレスは2台以上のWiiリモコンを区別したい時に指定ね。

akawiiremote-b5_s.gif

ところで、WiiのOperaでYouTubeもOKなのね。なかなかよろしげ。

遅ればせながらWiiコンソール

遅ればせながらWiiコンソール(本体)が届きました。さすがに本家がWiiリモコンをどのように使っていのるかは参考になります。これまでオブジェクトではできなくて分かっていなかったんだけど、面白かったのはWiiリモコンのスピーカーでした。対戦ゲームなどで、自分と相手の手元から音が聞こえるのは新鮮。WiiLi.orgなどでは音源チップの解析が進んでいるみたいなので、MSPから音を流し込めるようにしたいですね。あと、次期Wiiリモコンではマイクも是非欲しい。

wiiconsole_s.jpg wiicontrollers_s.jpg

Wii本体にヌンチャクがついていたので、これを使えるようにしました。ただ、アウトレットが増えるのがイヤだったので、出力メッセージを変更する方向で考えています。あと、PowerPCでの安定性も改善したいところなんだけど、まだ解明しきれていません。G5+BT adaputerでは安定しているんだけど、PBG4ではちょっと問題があったりします。

ちなみに、自宅(研究室にも)にテレビがないので、Wiiを接続するのに妙に苦労しました(笑)。取り敢えず、プロジェクタで対処したんだけど、センサーバーはスクリーン(壁)に貼付けるのか?とか、AVケーブル割かなきゃアンプ&スピーカー(前方)とプロジェクタ(後方)に配線できないよ、とかね。レガシー・テクノロジー(家電)ってホント大変です。HDMI化望む。

ペアリングはRVL Enableで

Wiiリモコンを初めて使う時には「Bluetooth設定アシスタント」を使った設定(ペアリング)が必要ですが、Cliff氏が作ったRVL Enablerを使えば簡単に済むことが分かりました。RVL EnablerのSearchボタンをクリックして、WiiリモコンのSyncボタンを押すだけ。

rvl-enabler_m.gif

何台ものペアリングをしなければならない人はマストハブね(笑)。もうすぐ十数台のWiiリモコンで遊ぶ(?)ことになっています。ギネスブックに申請できるかな?

aka.bookmotion登場

またまた新しいオブジェクト、緊急モーション・センサー(SMS)の情報を取得するaka.bookmotionです。ダウンロードは、サイドバーのaka.objectsからどうぞ。

akabookmotion.jpg

SMSは2005年初頭以降に登場したPowerBook G4/iBook G4/MacBook Pro/MacBookに備わっている加速度センサーで、SMSから得られる情報はXとYについては重力加速度に対する傾き情報になりますね(ブンブン振り回せないし)。Zも重力加速度に対する値なんだけどね。これまたソース・コードがあったのでMaxへのポーティング自体は簡単でしたけど、かなり時間がかかったのは、ヘルプ・パッチにある矢印の画像でございました(涙)。

それから、キャリブレーションや落下検知機能(警報が鳴っても既に遅いかも〜笑)もパッチで組んでみたんだけど、こんな感じでいいのかな。

てなわけで、オブジェクトを作ることが多い今日この頃ですが、そろそろ止めます。さすがに飽きてきました(笑)。

aka.jit.gl.snhandle登場

なんだか長ったらしいイケてない名前ですが、SpaceNavigatorを使って3D物体や3D空間をグリグリできるようにしました。jit.gl.handleの代わりに使うことができます。いつものように、ダウンロードはサイドバーのaka.objectsからどうぞ。

akajitglsnhandle.gif

操作感はさすがに気持ちいいです。ぐるんぐるん、ひゅんひゅん、って感じ。回転させると操作が分かりにくくなるので、もうちょっとナビゲーションを洗練させたいところ、要研究ですね。

aka.booklight登場

暇なのか?と言われそうですが(笑)、新しいオブジェクトを作りました。MacBook ProやPowerBook G4(の後期機種)についている環境光センサー(Ambient Light Sensor)の感度を知りたくって、WEBをサーチしたらコードがあったので、即オブジェクト化。ついでに、LCDやキーボードのバックライトもコントロールできるようにしました。開発自体は1時間ほどで済みましたけど、ヘルプ・パッチを作る方が時間がかかりますね

ダウンロードは例によって、サイドバーにあるaka.objectsからどうぞ。

akabooklight.gif

それで、肝心の環境光センサーの感度は、まぁまぁです。シビアな演奏には使えそうもなくって、一発ネタに使える程度かな。それから、PowerBook G4では微妙に動作が変ですけど、まぁいいでしょ。あと、スリープ・ライトや内蔵iSightの緑ランプもコントロールしたいところなのですが…

aka.spacenavigator登場

ダンス公演が終わって、ちょっと時間の余裕ができたので、SpaceNavigatorのオブジェクト(アブストラクション)を作りました。と言っても、やっていることはhiオブジェクトの出力をrouteオブジェクトで振り分けているだけです。

ダウンロードは、サイドバーのソフトウェアにあるaka.objectsからどうぞ。もちろん、ドライバをインストールしてからね。XPでは試していないけど、そのまま動くんじゃないかな?

akaspacenavigator.gif

実際に操作して面白いのは、例えば左に傾けているつもりでも、厳密な操作はできないから、他のパラメータも微妙に増減することです。マウスを左に動かしていても、多少は上下に動いてしまうことと同じですね。このあたりをうまく使えば、味のあるユーザ・インターフェースが作れそうです。