+32767)・処理内容DirectSoundのセカンダリバッファの音程を変更する。実際の設定値は原音の再生レートを基に自動的に算出される。16384=最後尾)・処理内容DirectSoundのセカンダリバッファの再生位置を変更する。PCM識別タグ・処理内容DirectSoundのセカンダリバッファの状態を取得する。以下のフラグの論理和を返す。スレッドのインターバル時間-1(msec)・処理内容PCMストリーム用のコンテクストを生成する。コンテクストにはスレッドが含まれ、生成が成功したときから動作し始める。APIのSleep()に渡される。・処理内容strnew()で生成したコンテクストを破棄する。PCM制禦スウィッチ・処理内容ストリーム再生用にDirectSoundのセカンダリバッファを生成し、ファイルをストリームに関連付ける。ストリームバッファの単位時間を指定する。バッファは作業用に4単位確保するため、実際のメモリ占有量はほぼ4倍となる。値が小さいほどサイズを小さくできるが、そのぶん正常な再生が期待できなくなる。値を大きくした場合、バッファサイズが増えるだけでなく終了検知も遅れるという問題が起こる。マシンパワーにもよるが、50~500あたりを推奨。PCM制禦スウィッチ・処理内容stropen()の処理をバックグラウンドで開始する。リアルタイム性が維持できるが、エラーの検出ができない。sizeof(DWDECSTA)・処理内容stropen()を試行し、正常ならばstrgetdecsta()を実行してすぐstrclose()を行う。・処理内容ストリーム再生を停止し、セカンダリバッファを破棄する。・処理内容strclose()の処理をバックグラウンドで開始する。・処理内容ストリームの再生を開始する。・処理内容ストリームの再生を停止する。16384=最大)・処理内容ストリーム用セカンダリバッファの音量を変更する。+16384=右)・処理内容ストリーム用セカンダリバッファの定位を変更する。+32767)・処理内容ストリーム用セカンダリバッファの音程を変更する。実際の設定値は原音の再生レートを基に自動的に算出される。PCM制禦スウィッチ・処理内容ストリームの途中でPCM制禦スウィッチの内容を変更する。設定が反映されるのはディコード前のサンプルであり、既にディコードが完了した部分には適用されない。次回のディコード開始位置をサンプルベースで設定する。プラグの仕様に因り、対応していなかったり設定位置がずれたりすることがある。ディコード開始位置を調べる。・返値ディコード開始位置をサンプル単位で返す。エラーの場合は常に0が返る。次回のディコード開始位置を時間ベースで設定する。プラグの仕様に因り、対応していなかったり設定位置がずれたりすることがある。ディコード開始位置を調べる。・返値ディコード開始位置を秒単位で返す。エラーの場合は常に0.0が返る。ディコード終了位置(サンプル単位)・処理内容ディコード終了位置を設定する。この後、設定位置より1つ手前のサンプルをディコードしたところで終了扱いとなる。0を設定した場合に限り設定解除として扱い、本来のサンプルデータ終端と同じ位置となる。プラグの仕様に因り、対応していなかったり設定位置がずれたりすることがある。strsetloop()と同時に設定した場合の処理はプラグ依存となり、結果は不定。確実に動作させるには、strsetloop()の設定を解除する必要がある。ループ終端位置(サンプル単位)・処理内容ループ位置を設定する。この後、始端から終端の1つ手前のサンプルを繰り返してディコードするようになる。endに0を設定した場合に限り設定解除として扱い、ディコードの繰り返しを中止する。プラグの仕様に因り、対応していなかったり設定位置がずれたりすることがある。strsetend()と同時に設定した場合の処理はプラグ依存となり、結果は不定。確実に動作させるには、strsetend()の設定を解除する必要がある。sizeof(DWDECSTA)・処理内容ストリームが扱うサンプルの仕様を書き出す。・処理内容ストリームの再生準備が完了しているか調べる。便宜上、エラーで中断した場合も完了していると見なされる。・処理内容ストリームの再生が完了しているか調べる。便宜上、エラーで中断した場合も完了していると見なされる。DirectSoundのインスタンスを得る。DirectSoundを他の処理で共用したいときに使える。プライマリバッファのインスタンスを得る。プライマリバッファを外部から操作する場合に使えるが、使い方によっては正常動作しなくなることもあるのであまりおすすめしない。DirectXが初期化されていないか、インスタンスが存在しない。セカンダリバッファのインスタンスを得る。プライマリバッファを外部から操作する場合に使えるが、使い方によっては正常動作しなくなることもあるのであまりおすすめしない。(V0.40以降)ストリーム用セカンダリバッファは取得できない。DirectXが初期化されていないか、インスタンスが存在しない。セーブ中のプログレス処理を行うコールバック・処理内容PCMをディコードしてファイルに書き出す。返値が0だったときはエラーとなる。処理に失敗(V0.45以降)密かに返値の型名が変わってたりするが、互換性は維持してあるので御安心を。ds8_version(void)(V0.40以降)・返値DS8OUT.DLLのヴァージョン情報を32bit値で返す。これは8bitずつ4つのメンバで区切られ、上位から順にアンオフィシャル識別番号,メジャーヴァージョン,マイナーヴァージョン,リリースカウントとなっている。ユーザポインタコールバック関数が呼ばれるときに渡される任意の値。・処理内容DS8OUTのインスタンスを生成する。cballocとcbfreeを指定した場合、独自のメモリ管理関数を利用することができる。どちらか一方でもNULLだと無効になり、ディフォルトの処理が使われるようになる。インスタンスのポインタこの値はインスタンス関数を呼び出すときに必要であり、インスタンスが存在している間は保持しておかなければならない。ユーザポインタコールバック関数が呼ばれるときに渡される任意の値。コールバックテーブルのサイズ(sizeof(DS8CBTBL))・処理内容DS8OUTのインスタンスを生成する。コールバックテーブルを設定することで、メモリ,ファイル管理を独自の関数に置き換えることができる。それぞれのカテゴリに関連するコールバックテーブルは全て設定しなければならない。1つでもNULLがあるとそのカテゴリは無効になり、ディフォルトの処理が使われるようになる。インスタンスのポインタこの値はインスタンス関数を呼び出すときに必要であり、インスタンスが存在している間は保持しておかなければならない。