Max 5とMax 4との関係

すでにMax 5をインストールされた人も多いかと思いますが、ここでMax 5とMax 4との関係をまとめておこうと思います。要は、Max 5とMax 4は個別に動作するので、共存できますよ!ってことです。でも、何か変なことが起こっても、私に文句を言わないでね。あくまで自己責任でお願いします。

インストール&オーソライズ

  • Max 5はMax 4とは別のフォルダにインストールされ、プリファレンスを含めてファイルを共有することはない。つまり、それぞれが他方に影響を与えることはない。
  • Max 5とMax 4は、それぞれ別のシリアル番号となる。
  • Max 5とMax 4のオーソライズは関連はなく、別のものである。つまり、Max 4のオーソライズに影響を与えることなく、Max 5を30日間試用できるが、その30日を過ぎれば、Max 5をオーソライズしなければならない。
  • (iLokによるオーソライズは未確認)
  • Max 5とMax 4とを同時に起動し、独立して動作させることができる。

パッチ・ファイル

  • Max 5ではパッチ・ファイルの拡張子として.maxpatが使われる。
  • Max 4ではパッチ・ファイルの拡張子として.pat、.mxb、mxtなどが使われていた。
  • Max 4で作成したパッチ・ファイルを、そのままMax 5で開くことができ、ほとんどの場合、そのまま動作する。
  • Max 4で作成したパッチ・ファイルをMax 5で開いた場合、オブジェクト幅や文字列幅が異なる場合がある。この結果として、垂直だったパッチ・コードが斜めになるなど、外観が微妙に異なる場合がある。
  • Max 5で作成したパッチ・ファイルを、Max 4で開くことはできない。

文字コード

  • Max 5では、すべてのオブジェクトやメッセージで日本語を用いることができ、文字コードとしてUnicodeのUTF-8エンコーディングが用いられる。
  • Max 4ではcommentオブジェクトのみ日本語を用いることができたが、この文字コードはShift-JISであった。
  • Max 4で作成した日本語コメントを含むパッチをMax 5で開けば、自動的に文字コードが変換される。
  • 正しい変換結果が得られない場合は、PreferencesのTwo Byte Comment Import EncodingをShift-JIS(すべての文字コードをShift-JISとして処理)またはMacroman(すべての文字コードをMacromanとして処理)に設定して、再度パッチを開くと良い。この設定は、デフォルトではAutodetect(文字コードを自動検出して処理)になっている。

エクスターナル・オブジェクト

  • Max 4用のエクスターナル・オブジェクトの大半は、そのままMax 5で利用することができる。
  • Max 4用のユーザ・インターフェース・オブジェクトは、Max 5では正しく動作しない場合が多い。

プラグイン

  • Pluggo、Hipno、Mode、UpMixなどMax 4で作成されたVSTプラグインは、Max 5では動作しない。
  • Max 5でPluggoがサポートされる予定だが、リリース時期は未定。

メッセージ通信

  • udpsendとudpreceiveを用いて、Max 5とMax 4との間でメッセージの送受信ができる。
  • 同じコンピュータでMax 5とMax 4を用いる場合は、IPアドレスが同一なので、ポート番号を用いて送受信を区別すると良い。

MIDI処理

  • Max 5とMax 4とは、Core MIDIに対して個別のクライアントとして登録される。
  • Max 5とMax 4とは、個別にMIDI機器との間でMIDIメッセージの送受信ができる。
  • お互いのMIDIポートを指定すれば、Max 5とMax 4との間でMIDIメッセージを遣り取り出来る。

オーディオ処理

  • Max 5とMax 4とは、Core Audioに対して個別のクライアントとして登録される。
  • Max 5とMax 4からのオーディオ出力は、オーディオ・ドライバでミックスされて出力される。
  • 同じオーディオ入力を、Max 5とMax 4とで同時に受け取ることもできる。
  • ただし、オーディオ・ドライバはマルチ・クライアント対応でなければならない(Mac OS Xの内蔵オーディオはマルチ・クライアント対応)。
  • Soundflowerなどを使えば、Max 5とMax 4との間でオーディオの送受信ができる。
といったところかな。何かあればアップデートしますので、お気づきの点はコメントかフォーラムにどうぞ。

Max 5の国内発売

昨日、イーフロンティアさんからMax 5の国内発売のプレスリリースが出てました。C74のディスカウント方針と同じように、アカデミック版はJitterバンドル版のみになっています。そして、Max/MSPは若干安くなった程度だけど、Jitterバンドル版はかなり値段が下がって、以前の6〜7割くらいになっていますね。

Max/MSP 5
       標準価格:58,800円

Max/MSP 5 / Jitterバンドル
       標準価格:84,000円
   スチューデント版:38,850円
  エデュケーション版:71,400円
スクール版 5ライセンス:294,000円(58,800円/ライセンス)
スクール版10ラインセス:441,000円(44,100円/ライセンス)

(いずれも税込み)

つまり、安くなったのでJitterバンドル版をどうぞ〜、特にアカデミックではMax/MSPだけってのはナシよ〜ってことのようです。

ちなみに、新年度ということもあって(ラッキ〜)、IAMASの全ライセンス・アップグレードが、4月早々に決まっていました。ただ、公立機関(つまりお役所)の悲しさで、今日明日にも発注出来るってことではないのです(涙)。30日間の試用期間内に納品されればいいんだけどね。これ、なんとかならないかな〜

iPhoneアプリケーション開発講座がスタート

今日からIAMASでiPhoneアプリケーション開発講座が始まりました。ってか始めました。世界初じゃないとしても、日本ではまだ珍しいんじゃないかな? Maxなら、この本読んでおいてね〜で済んじゃうんですが、さすがにObjective-C/Cocoa Touchはそうは行かないので、簡単なナビゲーションをしている次第。

初回となる今回は開発環境の概要説明から始めて、サンプル・コードのビルド、実行、デバッグなどの開発手順を一通り追いかけるスタイルで進行。以下に資料をリンクしておきますが、これまでの情報を軽くまとめたものです。目新しい情報やクリティカルな情報はありません(それは口頭で〜笑)ので、このサイトをご覧の方には新鮮味がないと思います。


PDFをダウンロード(552KB)

ちなみに、プログラミング経験がない新入生が目を白黒させる一方で、百戦錬磨のベテラン教員&学生が濃い目の議論を交わす対比が可笑しい。シミュレータと実機との違いを実感しつつ(手順はほとんど一緒だけど、体験はかなり異なる)、NeXTSTEP昔話やObjective-Cランタイム特性などへも話が展開しました。

【追記】参加者全員がiPhone Developer(無償分)に登録することで、NDA問題を回避できると思うけど、そこで話された内容は外へ出せないですよね。よって、2回目以降の資料やレポートは、このサイトに掲載しない予定です。

llooppはルルーーププ

一昨日のIAMASでは、オーストリアはウィーン(ヴィエナがキブン)からKlaus Filipとnoidのお二人を迎えて、llooppのレクチャー&ワークショップ&パフォーマンスがありました。llooppはMaxで作られた大規模なモジュール・システムで、即興的にも適した演奏パッチ群ってとこでしょうか? Maxでこれだけのシステムを作るのは、並大抵の努力ではできない(むしろ、適していないかも〜笑)と思いますが、実際にも10年程かけて発展させてきたとのこと。

このソフトウェアはllooppサイトからダウンロードできるので、試してみる価値はあります。フリーウェアですが、Actと呼ばれるモジュールを作ったら、ドネーションして欲しいそうです。ちなみに、llooppは「ループ」と呼べば良いそうですよ。

個人的には、新年度(つまり、半分は新入生)ということもあって、40〜50人もの学生が受講していたのが印象的でした。こんなに大人数でワークショップをすることは、あまりナイですからね。それでも、とてもスムースにワークショップが進んだので、IAMASは素晴らしいと二人が言ってました。他では結構トラブったみたい。

iPhone SDKはBeta 4へ

どうやら2週間ごとの恒例行事になりそうですが、iPhone SDKがBeta 4(Build 5A258f)にバージョン・アップされました。APIの変更点(要ログイン)とリリース・ノート(要ログイン)を眺めると、今回も派手に変更されているような気がしますね。これは安定化への前触れなのか、さらなる大変革への予兆なのか、ジェットコースター気分が続きます。

 小耳に挟んだ話では、ようやくSimulatorでもOpenGL ESが動くとか。それから、デーモン的なアプリケーションがサポートされるって話もありますが、どのことかな?

Max 5でも忙しいのに、またまたiPhoneが忙しくなって、嬉しいやら苦しいやら、複雑な気分。

Max 5の日本語処理

これまで、なんとなく(?)ほのめかしていましたが、Max 5での日本語処理はかなり高い水準になっていると思います。正確にはUnicodeなので、日本語はもとより(ほぼ網羅 but 不完全ながら)世界中の言語(文字)が処理できます。

単に日本語を入力したり、表示したりできるだけでなく、各種オブジェクトでの日本語の文字列処理も可能だし、日本語のオブジェクト名やメッセージ名も使えます。「赤松」オブジェクトに「回れ 右」といったメッセージを送ることができるので、ちょっと感動的。ただし、シンボルの区切りには全角空白文字は使えない(残念!)のは、要注意ね。

それから、「愛」という名前(Scripting Name)のオブジェクトがあれば、autopattrオブジェクトに「get愛」メッセージを送れちゃいます。なんとも素晴らしいハイブリッドぶりですが、内部処理としてはフラットなんでしょうね。

詳しくは、ExtrasメニューからExample Overviewを開き、ウィンドウ上部のMaxタブを選び、InterfaceのUnicode_Tips_for_Japaneseを選んでください。Finderから開く場合は、examplesフォルダの中のinterfaceフォルダに同名のパッチ・ファイルがあります。

ちなみに、「パンはパンでも、食べられないパンは?」のオリジナルは、「乗ると9回お礼してくれる車は?」だったんですが、それなりに日本語ができるアメリカ人でも分からなかったそうで、ボツになりました。「コードはコードでも、潰れたコードは?」ってのは、流石に止めました(笑)。正解はコメントに書いておきます。

Max 5の新機能

# 以下は、Max 5のHelpメニューにあるWhat’s New in Max 5?の和訳です。
# 翻訳の正確さは保証できません(笑)。おかしなところがあれば、教えてください。

Max 5の新機能

新しいパッチャー

Max 5には完全に新しくなったパッチャーがあり、それは複数回のアンドゥ、ズーミング、グリッド、そして便利なツールバーを備えている。邪魔になっていたウィンドウ上部に沿った細長いバーの代わりに、オブジェクト・パレットは透明で可変サイズのウィンドウになり、必要な時にポップ・アップする。同じパッチャーを好きな数だけビューとして開くことができ、それぞれをズームしたり、異なる部分にスクロールできる。さらに、パッチャーのキーボード・コマンド(例えば、nはnew object)や自動補完機能によって、オブジェクトを素早く作ることができる。

ファイル・ブラウザ

ファイル・ブラウザは新しいウィンドウであり、データベースを用いてMaxの資源(パッチやメディア・ファイルなど)を管理する。このブラウザでは簡単にデータベース照会を行なって、見たいと思うファイルだけを表示することができる。ファイル・ブラウザのウィンドウ下部にあるプレビュー・ペインは、どのようなファイルでも素早く確認して、関連する情報へ導いてくれる。最も重要なことは、ファイル・ブラウザのウィンドウから任意のファイルをドラッグして、その種類に応じてパッチに追加できることである。

プレゼンテーション・モード

プレゼンテーション・モードは、パッチのユーザ・インターフェースを作成するための新しい方法である。これは、ユーザ・インターフェースを構成するオブジェクトだけを選択し、最も効果的であるように配置するもので、パッチの論理的な構成を変更しないで済むようになっている。プレゼンテーション・モードは、オブジェクトの位置や大きさを素早く正確に整えられるよう、最適化されている。

インスペクタ・ウィンドウ

Max 5のオブジェクト・インスペクタは、すべてのオブジェクトに備わっており、それはアトリビュート・モデルに基づいている。アトリビュートとはオブジェクトの特性であり、どのようなものでも、インスペクタで内容を見たり、内容を変更することができる。新しいカラー・エディタでは、プリセットを呼び出したり、保存できるとともに、異なる数値形式によって色を把握できる。インスペクタの項目はカテゴリに従って整理されており、各アトリビュートには理解し易い説明が付いている。同じようなインスペクタ方式が、Max 5の他の多くのエディタにも採用されており、その例としてはDSPステイタス、ファイル・プリファレンス、MIDIセットアップなどがある。

統合化されたドキュメント

Max 5はプログラミングの労力を軽減するように考えられており、必要に応じてオブジェクトや編集機能について、適切な情報を表示を行なう。新しいクルー(Clue)ウィンドウは、メニュー項目、オブジェクト、アトリビュート、ユーザ・インターフェースなどについて、状況に応じた情報を表示する。すべてのオブジェクトについてのリファレンス・ページは、クリックひとつで呼び出され(訳註*1)、内蔵されたWebブラウザに表示される。実際のところ、すべてのMaxのドキュメントはMaxに内蔵されており、Helpメニューから呼び出すことができる。

訳註*1 only a click awayが意味不明で、適当に訳しています。

デバッグとモニタ

パッチは、意識しないでいると、すぐに複雑になり、扱いにくくなる。そこで、何が起こっているかを解明するために、いくつかの新しいツールが追加された。ウォッチポイント・ウィンドウでは、任意のパッチ・コードを流れるメッセージをモニタしたり、テキスト・ウィンドウで調べるために履歴を残すことができる。また、任意のパッチ・コードでMaxの実行を停止し、新しくなったデバッグ・ウィンドウで、すべてのオブジェクトの状態を調べることもできる。複雑なデータをダイナミックにモニタするためには、オーディオのシグナル・プローブ(probe)によって、オーディオ・データを計測したり、数値を見ることができる。これは、見たいと思うパッチ・コードにマウス・ポインタを重ねるだけで良い。そして、Jitterのマトリックス・プローブ・ウィンドウでは、マウス・ポインタを重ねたパッチ・コードを流れているマトリックス・データの詳細が表示される。

時間のオブジェクト

四分音符ごとにbangを出力するようなmetroオブジェクトは、Max 5によって可能になる。時間を処理するほとんどのMaxとMSPのオブジェクトが書き直され、テンポに従った軽量的な時間の値を使えるようになった。新しいtransportオブジェクトは、時間に関連するオブジェクトをコントロールするマスター・クロックの役目を果たす。この新しいシステムを使いたくない場合は、metroを含めて従来のすべてのMaxオブジェクトを、これまでと同じようにミリ秒単位で動作させることができる。

さらなる特徴

  • 新しいMaxウィンドウはソート可能であり、何らかのテキストやエラー・メッセージを表示したオブジェクトを検索することができる。
  • Object Defaultsウィンドウでは、お好みのMaxオブジェクトを新たな色に設定することができ、それらをコレクションとして保存することができる。
  • オブジェクト・パレットは、ユーザが作成したプロトタイプを含めて、すべてのユーザ・インターフェース・オブジェクトのビジュアル・カタログを表示する。
  • アブストラクションは、動作しているパッチの状況に応じた編集ができるようになった。
  • poly~オブジェクトは、マルチ・プロセッサの利点を活かすように構成することができ、オーディオ処理能力が大幅に向上する。
  • 新しいパッチのFind機能は劇的に改善され、Webブラウザのページ内検索のように動作する。
  • Max 5はMacとWindowsの両方においてロング・ファイル・ネームをサポートし、Unicodeのテキストもサポートする。

Max 5リリース!

予告通り(西海岸時間で4/22)、Max 5がリリースされましたね。Welcome to Max 5: Max for the next 20 yearsのページから概要をチェックね。次の20年のためのMax、と大きく銘打っているように、開発環境の基盤が刷新されたのが大きな特徴です。

Max 4とは別のフォルダにMax 5がインストールされるので、まずは試してみるのが良いと思います。それぞれ共存と言うか、変な影響を与えないので、ご安心を(と私が保証しているワケじゃないですけど)。

PwnageToolがバージョン・アップ

お待ちかね、PwnageToolが1.1にバージョン・アップし、Firmware build 5A240dに対応しました。他にもパッケージを追加したり、グラフィックスを入れ替えたり、といったことが可能になるみたいです。これで、US$99を払いたくても払わせてもらえない人たちも、iPhone SDKのBeta 3での実機デバックができますね。

PwnageToolのアプリケーション・パッケージを開けば分かりますが、Firmwareのバージョンごとにパッチ情報が定義されています。なので、Firmwareが新しくなる度に、PwnageToolのバージョン・アップを待つことになるのは、これまでのツールと同じようです。何事も、万能は有り得ないってことでしょうか。

ただ、iPhone自体もそうだけど、AppleはSDKについても「裏口の鍵はユルめに」路線のような気がするな。もちろん、iPhone Devチームらの多大な努力あってのことだけどね。

さてさて、トムとジェリー、チーズを仕掛けたのはどっち?

【追記】PwnageTool 1.0で5A225cをインストール済みのiPhoneを、次の手順で5A240dにアップデートできたそうです。

(1) PwnageTool 1.1を起動し、Browse .ipswでFirmware 5A240dを選択。

(2) IPSW Builderでカスタム・ファームウェアを作成。

(3) iPhoneをリカバリー・モードにする。

(4) iTunesを起動し、カスタム・ファームウェアを選択して、復元を実行。