エラー処理
Contents
エラー処理の方針
GPDSP ライブラリは, エラーを関数の戻り値として返却し, 例外を利用したエラー処理を行いません. エラーは GPDSPError 型で表現され, GPDSPERROR_ プリフィックスで始まるマクロとして定義されます.
各種関数が実行時にエラーを発生した場合は, 関数が呼び出される前の状態が保持されます. 引数を通して結果が返却される関数では, 関数の実行が成功しない限り, 引数の内容が書き換えられることはありません.
エラー情報の出力
GPDSPNodeRenderer::
std::cout 利用の場合
using namespace ir; GPDSPNodeRenderer dsp; GPDSPError error; error = dsp.load("example.gpdsp"); std::cout << GPDSPNodeRenderer::stringize(error) << std::endl;
printf() 関数利用の場合
using namespace ir; GPDSPNodeRenderer dsp; GPDSPError error; error = dsp.load("example.gpdsp"); printf("%s\n", GPDSPNodeRenderer::stringize(error));
ディレイ・フリー・ループの扱い
循環する構造を含むノード接続を行う場合は, 循環経路の途中に GPDSPDelayNode クラスや GPDSPBufferNode クラスなどの内部バッファを持つ遅延ノードを挿入しておく必要があります.
遅延ノードを含まない循環経路はディレイ・フリー・ループと呼ばれ, 離散的に演算することができません. GPDSP ライブラリでは, ディレイ・フリー・ループを自動的に検出し, GPDSPNodeRenderer::