| spAudio
    | 


| 関数 | |
| long | spWritePlugin (spPlugin *plugin, void *data, long length) | 
| long | spWritePluginInByte (spPlugin *plugin, void *data, long data_size) | 
| long | spWritePluginDoubleWeighted (spPlugin *plugin, double *data, long length, double weight) | 
| long | spWritePluginDouble (spPlugin *plugin, double *data, long length) | 
| char * | xspFindRelatedPluginFile (const char *plugin_name) | 
| char * | xspFindSuitablePluginFileWithPriority (spPluginDeviceType device_type, const char *filename, const char *mode, int *current_priority) | 
| char * | xspFindSuitablePluginFile (spPluginDeviceType device_type, const char *filename, const char *mode) | 
| spPlugin * | spOpenFilePlugin (const char *plugin_name, const char *filename, const char *mode, spPluginDeviceType device_type, spWaveInfo *wave_info, spSongInfo *song_info, spPluginOpenCallback call_func, void *call_data, spPluginError *error) | 
| spPlugin * | spOpenFilePluginAuto (const char *plugin_name, const char *filename, const char *mode, spPluginDeviceType device_type, spWaveInfo *wave_info, spSongInfo *song_info, spPluginOpenCallback call_func, void *call_data, spPluginError *error) | 
| spPlugin * | spOpenFilePluginArg (const char *plugin_name, const char *filename, const char *mode, spPluginDeviceType device_type, spWaveInfo *wave_info, spSongInfo *song_info, int argc, char **argv, spPluginError *error) | 
| spPlugin * | spOpenFilePluginArgAuto (const char *plugin_name, const char *filename, const char *mode, spPluginDeviceType device_type, spWaveInfo *wave_info, spSongInfo *song_info, int argc, char **argv, spPluginError *error) | 
| spBool | spCloseFilePlugin (spPlugin *plugin) | 
| 
 | extern | 
プラグインを用いてファイルにデータを書き込みます. spWritePluginInByte() とはデータの長さの与え方が異なるだけです.
| [in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. | 
| [in] | data | 書き込むデータです.書き込むデータの量子化ビット数に応じて型が変わります. 8・16ビットであれば short 型,24・32ビットであれば long 型,64ビットであれば double 型になります. | 
| [in] | length | 書き込む dataのポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば,dataの継続時間長をポイント単位にしたものの2倍の値です. | 
length と同じ値になります. | 
 | extern | 
プラグインを用いてファイルにデータを書き込みます. spWritePlugin() とはデータの長さの与え方が異なるだけです.
| [in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. | 
| [in] | data | 書き込むデータです.書き込むデータの量子化ビット数に応じて型が変わります. 8・16ビットであれば short 型,24・32ビットであれば long 型,64ビットであれば double 型になります. | 
| [in] | data_size | 書き込む dataのバイト数です. | 
data_size と同じ値になります. | 
 | extern | 
プラグインを用いてファイルにデータを書き込みます. 値の範囲は,原則として-1〜1である必要があります.
| [in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. | 
| [in] | data | 書き込むデータです. | 
| [in] | length | 書き込む dataのポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば,dataの継続時間長をポイント単位にしたものの2倍の値です. | 
| [in] | weight | 書き込み前にデータの振幅値を何倍してデバイスに渡すかを指定します. | 
length と同じ値になります. | 
 | extern | 
プラグインを用いてファイルにデータを書き込みます. 値の範囲は,原則として-1〜1である必要があります.
| [in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. | 
| [in] | data | 書き込むデータです. | 
| [in] | length | 書き込む dataのポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば,dataの継続時間長をポイント単位にしたものの2倍の値です. | 
length と同じ値になります. | 
 | extern | 
関係のあるプラグインの名前を取得します. 入力プラグインと対応する出力プラグインを探す場合などに使用します.
| [in] | plugin_name | プラグイン名を指定します. 例えば, "input_wav"のように指定します. | 
"input_wav" を引数として与えた場合は, "output_wav" が返ります. 存在しなかった場合には NULL が返ります. 使用しなくなった場合は, xspFree() を用いて解放して下さい. | 
 | extern | 
ファイル名とファイルを開く際のモードから,そのファイルをサポートしている適切なプラグイン名を取得します.
| [in] | device_type | 通常は, SP_PLUGIN_DEVICE_FILE を指定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を, 書き込みモードでファイルを開く場合は"w"を指定します. | 
| [in,out] | current_priority | 現在の優先度の値を保持する変数のアドレスを渡します. この優先度からプラグインの検索を始めます. この優先度よりも高い優先度を持つプラグインは無視されます. 終了時に,優先度の値は,次の呼び出しのために更新されます. | 
| 
 | extern | 
ファイル名とファイルを開く際のモードから,そのファイルをサポートしている適切なプラグイン名を取得します.
| [in] | device_type | 通常は, SP_PLUGIN_DEVICE_FILE を指定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を, 書き込みモードでファイルを開く場合は"w"を指定します. | 
| 
 | extern | 
プラグインを用いてファイルを開きます.
| [in] | plugin_name | プラグイン名を指定します. 例えば, "input_raw"のように指定します. NULL を指定すると,読み込みの場合はファイルの情報から,書き込みの場合はファイル名から自動判定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を, 書き込みモードでファイルを開く場合は"w"を指定します. 現在はこの2つのモードのみをサポートしています. | 
| [in] | device_type | ファイルを開く場合は, SP_PLUGIN_DEVICE_FILE を指定します. オーディオデバイスを開く場合は, SP_PLUGIN_DEVICE_AUDIO を指定します. | 
| [in,out] | wave_info | spWaveInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spWaveInfo 型変数のメンバーにファイルの情報が返ってきます. 例えば, wave_info.samp_rateでサンプリング周波数が,wave_info.samp_bitで量子化ビット数が得られます. 書き込みモードの場合は,書き込むファイルにメンバーの値が設定されます. | 
| [in,out] | song_info | spSongInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spSongInfo 型変数のメンバーに楽曲情報が返ってきます. | 
| [in] | call_func | コールバック関数を指定します.不要であればNULLを指定できます.指定する場合は,次の形である必要があります: int spBool spPluginCallbackReason | 
| [in] | call_data | コールバックユーザーデータを指定します.コールバック関数が呼ばれる際に,第4引数にこの値が入ることになります. | 
| [out] | error | 戻り値が NULL だった場合のエラーコードの値を保持する変数のアドレスを渡します. | 
| 
 | extern | 
プラグインを用いてファイルを開きます. 最初は plugin_name の引数を無視してファイルを開こうとし,対応するプラグインが見つからなかった場合のみに plugin_name を用いてファイルを開く,という処理をします.例えば,自動でファイル形式を判定できなかった場合に,Rawファイルとして読み込みたい場合などに利用します. 
| [in] | plugin_name | プラグイン名を指定します. 例えば, "input_raw"のように指定します. NULL を指定すると,読み込みの場合はファイルの情報から,書き込みの場合はファイル名から自動判定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を, 書き込みモードでファイルを開く場合は"w"を指定します. 現在はこの2つのモードのみをサポートしています. | 
| [in] | device_type | ファイルを開く場合は, SP_PLUGIN_DEVICE_FILE を指定します. オーディオデバイスを開く場合は, SP_PLUGIN_DEVICE_AUDIO を指定します. | 
| [in,out] | wave_info | spWaveInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spWaveInfo 型変数のメンバーにファイルの情報が返ってきます. 例えば, wave_info.samp_rateでサンプリング周波数が,wave_info.samp_bitで量子化ビット数が得られます. 書き込みモードの場合は,書き込むファイルにメンバーの値が設定されます. | 
| [in,out] | song_info | spSongInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spSongInfo 型変数のメンバーに楽曲情報が返ってきます. | 
| [in] | call_func | コールバック関数を指定します.不要であればNULLを指定できます.指定する場合は,次の型である必要があります: | 
| [in] | call_data | コールバックユーザーデータを指定します.コールバック関数が呼ばれる際に,第4引数にこの値が入ることになります. | 
| [out] | error | 戻り値が NULL だった場合のエラーコードの値を保持する変数のアドレスを渡します. | 
| 
 | extern | 
プラグインを用いてファイルを開きます. この関数では,プラグインに対するコマンドラインオプションを渡せます. いくつかのプラグインはコマンドラインオプションに対応しているため,この関数を使用すると,関係のあるコマンドラインオプションを渡せるようになります. プラグインに関係のないコマンドラインオプションや無関係の文字列は無視されます.
| [in] | plugin_name | プラグイン名を指定します. 例えば, "input_raw"のように指定します. NULL を指定すると,読み込みの場合はファイルの情報から,書き込みの場合はファイル名から自動判定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を,書き込みモードでファイルを開く場合は"w"を指定します. 現在はこの2つのモードのみをサポートしています. | 
| [in] | device_type | ファイルを開く場合は, SP_PLUGIN_DEVICE_FILE を指定します. オーディオデバイスを開く場合は, SP_PLUGIN_DEVICE_AUDIO を指定します. | 
| [in,out] | wave_info | spWaveInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spWaveInfo 型変数のメンバーにファイルの情報が返ってきます. 例えば, wave_info.samp_rateでサンプリング周波数が,wave_info.samp_bitで量子化ビット数が得られます. 書き込みモードの場合は,書き込むファイルにメンバーの値が設定されます. | 
| [in,out] | song_info | spSongInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spSongInfo 型変数のメンバーに楽曲情報が返ってきます. | 
| [in] | argc | argvで示される配列の要素数を指定します. main 関数で受け取るものをそのまま渡しても構いません. | 
| [in] | argv | それぞれの要素にコマンドラインオプションの文字列値が入った配列を渡します. main 関数で受け取るものをそのまま渡しても構いません. | 
| [out] | error | 戻り値が NULL だった場合のエラーコードの値を保持する変数のアドレスを渡します. | 
| 
 | extern | 
プラグインを用いてファイルを開きます. 最初は plugin_name の引数を無視してファイルを開こうとし,対応するプラグインが見つからなかった場合のみに plugin_name を用いてファイルを開く,という処理をします.例えば,自動でファイル形式を判定できなかった場合に,Rawファイルとして読み込みたい場合などに利用します. 
 また,この関数では,プラグインに対するコマンドラインオプションを渡せます. いくつかのプラグインはコマンドラインオプションに対応しているため,この関数を使用すると,関係のあるコマンドラインオプションを渡せるようになります. プラグインに関係のないコマンドラインオプションや無関係の文字列は無視されます. 
| [in] | plugin_name | プラグイン名を指定します. 例えば, "input_raw"のように指定します. NULL を指定すると,読み込みの場合はファイルの情報から,書き込みの場合はファイル名から自動判定します. | 
| [in] | filename | ファイル名を指定します. | 
| [in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r"を, 書き込みモードでファイルを開く場合は"w"を指定します. 現在はこの2つのモードのみをサポートしています. | 
| [in] | device_type | ファイルを開く場合は, SP_PLUGIN_DEVICE_FILE を指定します. オーディオデバイスを開く場合は, SP_PLUGIN_DEVICE_AUDIO を指定します. | 
| [in,out] | wave_info | spWaveInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spWaveInfo 型変数のメンバーにファイルの情報が返ってきます. 例えば, wave_info.samp_rateでサンプリング周波数が,wave_info.samp_bitで量子化ビット数が得られます. 書き込みモードの場合は,書き込むファイルにメンバーの値が設定されます. | 
| [in,out] | song_info | spSongInfo 型変数へのポインタを指定します. 読み込みモードの場合は, spSongInfo 型変数のメンバーに楽曲情報が返ってきます. | 
| [in] | argc | argvで示される配列の要素数を指定します. main 関数で受け取るものをそのまま渡しても構いません. | 
| [in] | argv | それぞれの要素にコマンドラインオプションの文字列値が入った配列を渡します. main 関数で受け取るものをそのまま渡しても構いません. | 
| [out] | error | 戻り値が NULL だった場合のエラーコードの値を保持する変数のアドレスを渡します. | 
プラグインを用いて開いたファイルを閉じます. ファイルを閉じるだけでなく,プラグインの解放処理( spPlugin 型へのポインタに確保されたメモリの解放など)も行われます. そのため,この関数を呼び出した後は,引数で用いた spPlugin 型へのポインタへアクセスしてはいけません.
| [in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. | 
| SP_TRUE | 成功 | 
| SP_FALSE | 失敗 |