UITouchDiagnosticsLayer

コレ何でしょうね? 以下の画像は、iPhoneの上部にボタンとスライダーを置いて、下部にUITouchDiagnosticsLayerというオブジェクトを配置したもの。スクリーンをタップorドラッグすると、その位置がUITouchDiagnosticsLayer(タッチ診断レイヤー?)に数ポイントの履歴付きで表示されます。

ナゾなのはスライダーに対しては、電位マップのような網目が表示されること。ボタンや余白部分では表示されないんですけどね。網目はタッチごとに微妙に違っているように見えるものの、タッチの仕方を変えても、それほど大きくは変化しないみたいです。

uitouchdiagnosticslayer.JPG

なんだか意味ありげだけど、どのように利用するのかは分かりません。マルチ・タッチをしても、同時に数点が押されているようには表示されないですね。ただ、次のような現象を確認することはできました。

人差し指で押す(1点タッチ) → 人差し指の位置が表示される。
中指で押す(2点タッチ)   → 中指の位置が表示される。
薬指で押す(3点タッチ)   → 薬指の位置が表示される。
薬指を離す(2点タッチ)   → 中指の位置が表示される。
中指を離す(1点タッチ)   → 人差し指の位置が表示される。
人差し指を離す(タッチなし) → 何も表示されない(以前の表示が残る)。

明らかに、フツーのタッチ・スクリーンではないってことは分かるんですが、さて,この後どうしたらいんでしょう?

Max 5のデモ・ムービー

Cycling ’74がMax 5のプレス・リリースとともに、チョイ見せムービー集”A First Look at Max 5“を公開しています。Max史上最大の変革となるバージョン5の初お披露目ですね。ニューヨークで開催中のAESでは、実物のデモもやっているそうです。

max5-preview-movie.jpg

この記事にはEpisode 1からEpisode 3までが含まれていますが、Episodeは今後さらに追加されると思いますよ。例の夜に見せてもらったのは、この程度じゃなかったですから(笑)。

Xcodeで勝手アプリ開発

Xcodeで勝手アプリを開発するためのテンプレートが公開されていました。このあたりの説明を参考にセットアップね。これで、Xcodeで新規プロジェクトを作る時に、iPhone UIKit Applicationが選べるようになります。

早速、私もこれまでのコードをXcodeプロジェクトに移行。ソースを編集するのは楽々だし、ビルドもバッチリです。嬉しがってクラス・モデルを表示してみたりして…(階層が深くないので、ほとんど意味ナシ〜笑)。

iphone-xcode_m.jpg

いかにもモダンな統合開発環境って感じですが、実際にはtoolchainベースであることには変わりなく、ビルドはMakefileを呼び出しているだけね。それでも、使い慣れたXcodeで作業できるのは、ターミナル嫌いの私にとっては精神的にとっても楽です(笑)。

後は、UIKitなどのクラス・ツリーを表示したり、ヘッダへのアクセスを簡単にしたいのですが、どうしたらいいんでしょう? どなたか教えてください。

日本語コメントの文字化け対策

今日の学校クエストは、Macで作成したパッチに含まれる日本語コメントが、Winでは文字化けするので修正したい、というものでした。

この問題に関しては、2061:Maxオデッセイのサンプル・ブラウザ&オブジェクト・ブラウザのRead Me First.rtfでも説明していますが、ここで一部修正して再掲しておこうと思います。以下は、Winでの作業方法です。

■Windowsでの日本語コメントについて

Mac OS Xで作成したパッチに含まれる日本語コメントは、例えばOsakaフォントを使用している場合、Windowsでは同フォントがないので、正しく表示されません。これらは、以下の手順に従ってフォント・マッピングを追加することで、日本語コメントを表示できるようになります。パッチごとに日本語フォントを指定する必要はありません。

(1) Maxアプリケーションを起動している場合は、Maxを終了します。

(2) ローカル・ディスク(C:)のProgram Files¥Cycling ’74¥MaxMSP 4.6¥Cycling ’74¥initフォルダを開きます。

(3) max-fontmappingsファイルのバックアップを作ります。これは、トラブルが発生した時に元へ戻せるようにするためです。max-fontmappingsファイルを選択し、「このファイルをコピーする」を選び、適当なフォルダ(例えば、マイ ドキュメント・フォルダ)にコピーするとよいでしょう。

(4) max-fontmappingsファイルをダブル・クリックして開きます。メモ帳が起動し、ファイルの内容が表示されます。

(5) 以下のテキスト(行末の改行を含む)をコピーし、max-fontmappingsファイルの先頭にペーストします。
max system windows genericfontmap Osaka “MS Pゴシック”;

(6) max-fontmappingsファイル保存し、メモ帳を終了します。

(7) Maxを起動し、パッチを開きます。日本語のコメントが正しく表示されれば、フォント・マッピングが正しく行われています。

ちなみに、懐かしのDSPマガジンのNo. 1047(記事の後半)でも、同じ事柄を解説しています。こちらは、もう少し詳しく説明していて、Mac&Win相互フォント・マッピングです。ただ、すべてのフォントを網羅できるわけはないのが悩ましいところ。真の解決は、Max 5待ちかな?

iPhone Human Interface Guidelines

AppleがiPhone Human Interface Guidelinesなるドキュメントを公開しました。その名の通り、iPhoneにおけるヒューマン・インターフェースのガイドラインです(笑)。

かつてMacintoshの登場から間もなくして刊行された「Human Interface Guidelines:The Apple Desktop Interface」は、コンピュータGUIデザインのバイブルとして超有名(読んでない人はモグリ!)。一方、Mac OS X/Auqa版の「Apple Human Interface Guidelines(旧Aqua Human Interface Guidelines)」では、Apple自身が逸脱しちゃったりでイマイチでしたけど、今回のドキュメントはどう評価されるんでしょうね。

ともあれ、最近のAppleの動向を考えながら、このドキュメントを読むと結構笑えますよ。最初のページからして”Currently, developers create web applications for iPhone, not native applications.”ですからね。そして、すぐにWebアプリでは不可能な事柄についての説明がどんどん登場します。つまり、ネイティブ・アプリをデザインするための情報を、Appleが公式に出している訳です。

iphone-human-interface-guidelines-navigation.jpg

iPod touchで予見され、先週から現実のものとなった勝手iPhone&勝手アプリ撲滅キャンペーンから考えると、このHIG公開は明らかに矛盾しています。と言うことは、近くAppleから公式SDKと公式アプリ動作環境が提供されると期待するのがスジってものです(笑)。今月はLeopard登場(のハズ)だしね。

iPhoneで斜めスライダー

もしかしてと思って試してみたら出来ました、斜めスライダー。setRotationBy:をスライダーに送るだけで、ハイ、この通り。ちゃんと斜めに動きます。本当は縦スライダーを作ろうとしていたんですけどね。

akaiphone2-sliders.jpg

setRotationBy:はUIView-Geometry.hに定義されていて、GUIオブジェクトはUIViewのサブクラスなので、何でも回転できちゃうハズ。setTransform:でアフィン変換もできるみたいだから、歪んだGUIも作れますね。OS XたるiPhoneの能力の高さを再認識しましたです。

こんな風に上位クラスを調べるのは、お宝探しっぽくて楽しいですよ。Cocoa/Objective-Cだから、たぶんこんな感じかなとコードを書けば、それなりに動いてくれるのも快感。でも、正解を見つけるまでのトライ&エラーは大変面倒なんですけどね。

【追記】斜めスライダーに喜んだのも束の間、本来の目的の縦スライダーの表示が微妙に変。ノブが少しズレてるみたい。うむむ??

aka.iphoneネイティブ版登場!

前回の弱気な?マークとは違って、今回は強気の!マークです(笑)。MaxをコントロールするためのiPhoneネイティブ・アプリケーションが(一応)完成。aka.iphone / experiment 2として公開しました。勝手アプリなので、あなたのiPhoneがレンガになる前に試してください。Maxへ直接OSCメッセージを送るので、前回のようにサーバを設定するといった面倒はありません。

akaiphone2-working.jpg

さて、これで、ようやくスライダーをグリグリできるようになりました。プッシュ・ボタンとトグル・ボタンもあります。まだ実際には作っていませんが、XYパッドやナンバー・ボックス、テキスト・ボックスなども盛り込めそうです。反応&通信はとっても速いです。

ただし、システム標準(?)のGUIライブラリ(UIKit)を使っているせいか、マルチ・タッチはできません。もっとも、あるボタンを押さえながら別のボタンを押せるなど、マルチ・タッチらしきことは見え隠れしています。正式なドキュメントがないので、これまでの解析結果を参考に、手探りで試行錯誤しているわけで、かなり開発に時間がかかるのがツライところ(軟弱)。

それから、IPアドレスやポート番号が固定のままとか、いろいろと不備がありますね(だって面倒だから)。GUIを自由に配置したいといった要望も出てくると思うのですが、専用エディタを作る程暇人じゃないし、どうしたものかと思案顔です。まぁ、遊べる範囲で遊んでください。

Max 5とは何か(何ではないか)

深夜の興奮も醒めやらぬ今日この頃ですが、Cycling ’74のサイトではMaxの筆頭開発者であるDavid Zicarelli氏が”Max 5: What It Is (and Isn’t)“という記事を掲載しています。憶測や要望が飛び回っているものだから、この辺で沈静化しておかないと、仕事にならんって感じなんじゃないでしょうか(笑)。

max5-what-it-is.png

正確な内容は原文を読んでいただくとして、リリースは2008年第1四半期(って何月?)を予定している、ってなってますね。AppleがMac OS 9からMac OS Xに移行したことに例えられるような、抜本的なシステムの変更が行われるそうです。

iPhone Software Version 1.1.1

いろんな意味で予告通りのiPhoneソウトウェア・アップデート1.1.1が登場しました。今回の目玉はiTunes Wi-Fi Music Storeでしょうけど、それ以外にも数多くの新機能や改良が加わっています。でも、iPod touchにはある日本語入力機能(International Keyboards Support)は見当たらないな。例の無表情オヤジが滔々と新機能を説明してくれるムービーも登場しています。

iphone-111.jpg

ここで気になるのが、裏の目玉たる勝手iPhoneをレンガにしちゃうぞ大作戦ですね。アップデータも「永久に操作不能になっちゃうぞ」云々と表示されているそうです。コワイですね(苦笑)。さて、どうなりますことやら。

【追記】しっかりレンガになるみたいです。ロック解除していない場合は、問題なくアップデートできるようですが、勝手アプリが走らなくなるとか。各地で非難轟々ですけど、スクリーンにレンガを表示するくらいの茶目っ気が欲しかったですね。

Richard Dudas+Gilbert Nounoご来校

昨夜、急遽という感じで、Richard Dudas氏とGilbert Nouno氏がIAMASに遊びに来てくれました。Richardはコンピュータ音楽の作曲家にしてCycling ’74の開発スタッフの1人、wacomオブジェクトなどでも有名な人ですね。1年ほど前からソウルの大学で作曲を教えているとか(でも先週は会えなかった)。Gilbertもコンピュータ音楽の作曲家で、長らくIRCAMの研究員をしていて、来年1月まではアーティスト・イン・レジデンスとして京都に滞在しているそうです。

それで、中華料理の円卓を囲んでの馬鹿話も面白かったのですが、メインは深夜遅くまで続いたプレゼンテーション大会。もちろん、圧巻はここには書けない例のアレです。具体的でなくって申し訳ないんだけど、ともかく、マウスが動く度に驚嘆の声が上がっていました。ほんと、パッチを作るのが楽しくなりそうで、強力な機能が満載。まだバグがあるようですが、全体としての完成度は高い状態になってます(でも正式リリースはいつになるやら?)。これは期待して良さそうですよ。

そして、Gilbertは高度なビート・トラッキングの研究をしていて(数式満載)、アルゴリズムをMSPに移植中とか。自作品の解説からスコア・フォローイングのテクニックまで、濃厚な話題の連発で眠りたくても眠れません。私はiPhoneのネイティブ・アプリをチラ見せ(完成度50%、実機がないのでコードだけ)。学生のプレゼンにも丁寧にコメントする律儀さも素晴らしい。…って、その場にいなかった人には何のことやらですが。

dudasnouno.jpg

例のアレは撮影禁止だったので、差し障りのない場面でのお2人の御尊顔です。
(画面に映っているのは、フツーの4.6なので悪しからず….)

仕事でもないのにトップ・アーティストがウロウロしていたり、授業でもないのにトップ・シークレットを見聞きできるってのが、この学校の不思議で面白いところですね。