====================== ダイナミックインターフェース ====================== `-i' オプションで指定するインターフェースモジュールを,ダイナミックリンクを 用いてロードすることができます. SHARED_LIB_PATH ディレクトリの下に,(SHARED_LIB_PATH はマクロ) interface_.so というシェアードライブラリを作成します.ここで, は -i オプションで指定 するインターフェース ID です.この シェアードライブラリ内で,以下のような関数を 作成しておきます.(ここでも には インターフェース ID がはいります.) ControlMode* interface__loader(void) { ControlMode* ctl; /* ... */ return ctl; } -i で指定したダイナミックインターフェースは, interface_.so が読み込まれ,インターフェースの実体は, interface__loader() がコールされることで作成されます. また,SHARED_LIB_PATH ディレクトリの下に, interface_.txt というファイルの 1 行目にインターフェースの簡単な説明を記述しておくと, その文字列が `-h' オプション指定時に表示されます. 注意: ダイナミックリンクで読み込むべきインターフェースは,make 時にそのイン ターフェースを外してください.-i オプションで TiMidity を起動する と,まず,make 時に指定されたスタティックなインターフェースを探します. もしこの時指定されたインターフェースが組み込まれていると,そのインター フェースが用いられ,ダイナミックリンク用のインターフェースは読み込まれ ません.スタティックなインターフェースが見つからない場合に限り,ダイナ ミックリンク用のインターフェースをサーチします.