Max 5 API Reference
Max には、Cによって新しいオブジェクトを開発するために数多くの API が用意されています。しかし、これらに関する学習を始める前に、行なおうとする処理で必要となるAPIに関して、最低限何を学ぶべきかを確認しておくことが時間の節約になるでしょう。そのため、このドキュメントでは、詳細を学ぶための各セクションに加え、オブジェクト開発のためのアプリケーション領域の簡単なリストを作っておきました。
Max で提供されている以上の新しい数学関数や複雑な条件処理を行なうような、論理演算、数値演算オブジェクトを開発する場合、 Max オブジェクトの分析というセクションを読めば十分でしょう。
データ構造を扱うオブジェクトを開発する場合、これに加えて アトム とメッセージセクションを読み、Max でのデータ表現やデータの受け渡しを行なうための基本的なメカニズムについて学ぶ必要があります。
オペレーティングシステム・サービスとのインターフェイスを書いてみたいのであれば、Max のスレッド処理モデルやスケジューラについて学ぶ必要があるでしょう。
時間やタイミングを扱うオブジェクトでは、スケジューラについて学ぶ必要があります。拍節的なテンポベースのスケジューリングに興味がある場合には、ITMセクションに目を通し、delay2 の例を参考にして下さい。
新しいユーザインターフェイス・オブジェクトを作成するためには、上記の全てのセクションに加え、アトリビュートに関するセクション、および UI オブジェクトの分析 というセクションに目を通す必要があります。 JGraphics セクションもまた参考になるでしょう。
エディットウィンドウを持ったオブジェクトの作成は、これまでのものに比べ非常に複雑です。UI オブジェクトの作成に必要なすべての事項の学習に加え、サンプルとして提供されている scripto というオブジェクトのプロジェクトを理解する必要があります。
パッチのスクリプト処理や、パッチへの問い合わせを行なうようなオブジェクトの場合、 パッチャーのスクリプティングというセクション、および、提供されているいくつかのサンプルがとても役に立つでしょう。また、パッチの概念について明確に理解していることも有用です。これについては、js オブジェクトのドキュメンテーションの中のパッチャースクリプティングというセクションに目を通すことで理解を深めることができるのでないかと思います。
オーディオのフィルタやシグナルジェネレータを作成する場合には、 Max オブジェクトの分析 を読んだ後、MSP オブジェクトの分析 というセクションに眼を通して下さい。MSP オブジェクトは、複数のオーディオ入力を受け取る際に、プロキシの生成や使用 を行ないます。そのため、これらの概念を十分に把握しておくことが役に立ちます。
イベント(メッセージ)を出力するオーディオオブジェクトでは、スケジューラのサービスを使用する必要があるため、これについての記述に目を通しておくことをお勧めします。
オーディオの分析やコントロールを行なう UI オブジェクトの場合、通常の オーディオオブジェクトに関する事項だけでなく、Max の UI オブジェクトについても学ぶ必要があります。
Jitter オブジェクトモデル では、Jitter の柔軟なオブジェクトモデルに関する重要な基本情報について概説しています。 Jitter Max ラッパー では、Max ラッパーオブジェクトの書き方について説明しています。Max ラッパーオブジェクトとは、内部に Jitter オブジェクトを含んでいて、このJItter オブジェクトをMax パッチの中で使うことができるようにするためのものです。.マトリックスオペレータ・クイックスタート 、および マトリックスオペレータの詳細 では、”マトリックス・オペレータ”あるいは”MOPs” と呼ばれる特定のタイプのJitter オブジェクトを作成する方法を述べています。OB3D クイックスタート および OB3D の詳細 では、 OpenGL シーンのレンダリングを使用する OB3D Jitter オブジェクトの作成方法について述べています。スケジューラと低い優先度について では、Jitter オブジェクトをビルドする際に重要な、スレッド処理やタイミング処理に関する事項について記載しています。 Jitter オブジェクトの登録と通知 では、どのようにすればJitter オブジェクトを「名前(name)」によって登録することができるか、そしてこれらのオブジェクトに対する変更があったり、重要なイベントが発生したときにそれをどのようにクライアントに通知するかについて説明しています。CからのJitterオブジェクトの使用 では、Java、Javascript 、あるいはパッチから Jitter オブジェクトを利用するのと同じように、Cプログラムの中でJitter オブジェクトをインスタンス化して利用する方法について、いくつかの実例を挙げながら述べています。最後に JXF ファイルの仕様 および Jitter のネットワーク仕様 にはそれぞれ、JXF ファイルフォーマットでのデータフォーマット、およびJitter のネットワークプロトコルで使用するデータフォーマットについての情報があります。