"ds8_const_utl"はどちらか一方で構いません。通常は前者でいいでしょう。インポートライブラリを利用する場合は、この関数を直接呼び出せます。ない場合は、自前で関数のポインタを取得する必要があります。使うには、まずインスタンスを取得する必要があります。(インスタンス関数の詳細は後述)(V0.40以降)cballoc,cbfreeをNULLにしても有効となった。どちらかがNULLの場合は両方ともNULLと同様に扱われる。/*返値がNULLの場合はエラー発生(メモリ確保に失敗)*/}ここで得たインスタンスは、使用が済んだら必ず解放しなければなりません。確保すべきメモリサイズ(byte)・処理内容インスタンス関数の処理中にメモリを確保する必要がでてきたときに呼ばれる。メモリ確保コールバックと同じなのでユーザポインタの意味付けさえ同じならば同一の関数を使っても構わない。メモリが確保できなかったときに返す。確保したメモリの先頭アドレスを返す。解放すべきメモリの先頭アドレス・処理内容インスタンス関数の処理中に確保したメモリを解放する必要がでてきたときに呼ばれる。メモリ解放コールバックと同じなのでユーザポインタの意味付けさえ同じならば同一の関数を使っても構わない。フラグ・処理内容インスタンス関数の処理中にファイルを開く必要がでてきたときに呼ばれる。フラグ(以下を論理和で組み合わせたもの)を見て適切なオープンモードを選ぶ必要がある。開いたファイルを識別する値,またはエラーであることを示す値を返す。ユーザポインタds8_constの引数がそのまま・処理内容インスタンス関数の処理中にファイルのオープンエラーを示す値を取得するときに呼ばれる。・返値オープンエラーであることを示す値を返す。いたファイルがエラーかどうかを調べる必要がでてきたときに呼ばれる。・処理内容(*DS8CBOPEN)()で開いたファイルを閉じる必要がでてきたときに呼ばれる。転送すべきサイズ・処理内容(*DS8CBOPEN)()で開いたファイルから読み出し、バッファに転送する必要がでてきたときに呼ばれる。実際に転送した量を返す。転送すべきサイズ・処理内容バッファの内容を(*DS8CBOPEN)()で開いたファイルへ書き込む必要がでてきたときに呼ばれる。実際に書き込んだ量を返す。処理中にPCMの長さを取得する必要が生じたときに呼ばれる。PCMの書き出しを行わない。PCMの長さをmsec単位で返す。処理中に何度か呼ばれる。・処理内容インスタンスを破棄する。インスタンスが不要になったら必ず破棄すること。・処理内容DirectSoundのインスタンスをロックする。なくばDirectSoundの動作が不安定になる可能性がある。DirectSoundのインスタンスをロックする。ロックできないときは他のスレッドがDirectSoundをロックしていることを示す。ロック失敗(V0.45以降)密かに返値の型名が変わってたりするが、互換性は維持してあるので御安心を。行ったロックを解除する。用済みになったら必ず解除しておくこと。実行中のスレッドが解除待ちのまま永久に待機することになる。・処理内容インスタンスが管理しているPCMを全て一時的に停止/再開する。ストリーム再生レート・処理内容DirectSoundを初期化し、WAVEディヴァイスを使えるようにする。ch,bit,freqはプライマリバッファ(最終的な波形合成先)のパラメータとなる。scaleを0以外にした場合、ストリーム再生用のセカンダリバッファを確保する。値が小さいほどサイズを小さくできるが、そのぶん正常な再生が期待できなくなる。マシンパワーにもよるが、100~500あたりを推奨。・処理内容WAVEディヴァイスを解放し、DirectSoundインスタンスを破棄する。得たインスタンスを独自に使用している場合は事前に後始末しておく必要がある。バッファサイズ・処理内容プラグの著作権情報を取得する。bufがNULLの場合は格納を行わず、文字列の長さだけ調べる。文字列の終端は自動的にヌルターミネイトされる。文字列の長さをバイト単位で返す。対象ファイルに含まれるPCMの数を調べる。対象ファイルに含まれるPCMの数を返す。エラーまたはPCMがないときは0を返す。対象のPCMに対応する文字列を列挙し、それぞれについてコールバックが呼ばれる。このコールバックは4つの引数を持つ。1番目は他のコールバックと同じくユーザポインタが渡される。2~4番目は文字列を指すポインタで、それぞれ文字列本体,言語コード,文字セット名を表す。情報が存在しないときはNULLが渡ってくることに注意。コールバックがTRUEを返すと文字列検索処理を続行し、FALSEを返すと中断となる。kindの値は負数に限りdw_pcmtext()のidxと上位互換性がある。0はDW_TEXT_OTHERに当てられ、正数は無効となる。内容説明(タイトルとは似て非なるもの)なお、プラグに実装された文字列取得処理がV0.45以前のものでも、DS8OUT.DLLが代替処理で仕様の差を吸収するようになっている。PCM番号に対応する文字列の数(インデクス数)を取得する。(V0.46以降)プラグにdw_enumpcmtext()が実装されている場合の文字列取得はできない。新仕様への移行を推奨。対象のPCM番号とインデクス番号に対応する文字列を取得する。インデクス番号が0未満の場合、特別な用途に則った文字列となる。(enumpcmtext()参照)bufがNULLの場合は格納を行わず、文字列の長さだけ調べる。文字列の終端は自動的にヌルターミネイトされる。文字列の長さをバイト単位で返す。(V0.46以降)プラグにdw_enumpcmtext()が実装されている場合の文字列取得はできない。新仕様への移行を推奨。バッファサイズ・処理内容pcmtext()で取得する文字列の文字セット名を取得する。bufがNULLの場合は格納を行わず、文字列の長さだけ調べる。文字列の終端は自動的にヌルターミネイトされる。0が返ってきた場合は文字セットが不明であることを表す。文字列の長さをバイト単位で返す。(V0.46以降)プラグにdw_enumpcmtext()が実装されている場合の文字列取得はできない。新仕様への移行を推奨。バッファサイズ・処理内容pcmtext()で取得する文字列の言語コードを取得する。bufがNULLの場合は格納を行わず、文字列の長さだけ調べる。文字列の終端は自動的にヌルターミネイトされる。0が返ってきた場合は言語コードが不明であることを表す。文字列の長さをバイト単位で返す。(V0.46以降)プラグにdw_enumpcmtext()が実装されている場合の文字列取得はできない。新仕様への移行を推奨。PCM制禦スウィッチ・処理内容DirectSoundのセカンダリバッファを生成し、ファイルからPCMを読み込んでバッファにセットする。サンプル数が取得できないときは自動的に失敗扱いとなる。複製元PCM識別タグ・処理内容DirectSoundのセカンダリバッファを複製する。PCM識別タグ・処理内容DirectSoundのセカンダリバッファを破棄する。1=ループ)・処理内容DirectSoundのセカンダリバッファを再生する。PCM識別タグ・処理内容DirectSoundのセカンダリバッファの再生を止める。16384=最大)・処理内容DirectSoundのセカンダリバッファの音量を変更する。