<< Top
Pd Documentation 4 章: C言語によるPdオブジェクトの製作

目次に戻る


Pdアプリケーション上で利用可能な、あなた独自のオブジェクトを作成することができます。 コードの記述には、C言語や (技量がある人なら)C++もしくはFORTRANを使用できます。

外部オブジェクト(EXTERNS)はどのようしてにロードされるか

Pdが記憶していないオブジェクト名を("オブジェクトの"テキストボックス中に)タイプ すると、Pdはそれを置き換えられるオブジェクトファイル(例えば "profile.pd_irix5" の ようなファイル名)を探します。Pdは最初にパッチの格納されているディレクトリ内を検索し、 つぎにサーチ・パスのディレクトリ内を検索してゆきます。Pdがファイルを発見した後、そこ に定義されている全オブジェクトが「クラスリスト」に追加されます。「クラスリスト」には、 Pdで利用できる全オブジェクトの型が定義されています。その後で、Pdは要求されたオブジェ クトの生成を再度試みます。このとき、それまでの処理がうまくいっていれば、Pdはオブジェ クトの生成に成功するはずです。これらの手順でロードされたオブジェクトと最初からPdに内 蔵されているオブジェクトの間には、まったく違いがありません。

一度Pdにロードされたオブジェクトは、Pdが終了するまで有効になります。同名でバージ ョンの異なるオブジェクトをロードした場合でも、オブジェクトが上書きされることは ありません。新しいオブジェクトに書き換えたい場合は、一旦Pdを立ち上げ直してから オブジェクトをロードしなくてはいけません。

このドキュメンテーションの"externs"サブディレクトリ内に、シンプルな外部オブ ジェクト(externs)の例と、それらのソースコードとテストパッチがはいっています。 その他多くの参考例がweb上で閲覧できます。( 節1.2を見てください )

Iohannes Zmoelnig がすばらしい外部オブジェクト製作ガイドを書いてくれました。 http://iem.kug.ac.at/pd/externals-HOWTO/ を見てください。

Theo Stojanovによる、ガイドの印刷版も提供されています: http://www.music.mcgill.ca/~theo/html/audio/pd_externs.pdf

NT HINT: NT版のPdは、Visual C 6.0 を用いてコンパイルされています。VC 5.x で外部オブジェクトを作成した場合、"disk full or bad DLL" という旨のエラーが出て、 Pdと一緒にコンパイルできません。Pd自体を VC 5.x 環境下でコンパイルし直せば、この問題 を回避できます。 5.x と 6.x で作成した外部オブジェクトには機械語レベルでの 互換性はありますが、コンパイルを行う時だけは注意して取り扱う必要があります。



< 目次に戻る
<< Top