プラグインを用いたファイルへの出力を扱うためのクラスです.
[詳解]
#include <sp/spOutputPlugin.h>
|
(これらはメソッドではありません)
|
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) |
|
プラグインを用いたファイルへの出力を扱うためのクラスです.
実際には,クラスではなく, typedef struct _spPlugin spPlugin;
により定義された spPlugin 型を用いて処理を行います.
- 参照
- プラグインによる入出力 , spInputPlugin
◆ spWritePlugin()
long spWritePlugin |
( |
spPlugin * | plugin, |
|
|
void * | data, |
|
|
long | length ) |
|
related |
プラグインを用いてファイルにデータを書き込みます. spWritePluginInByte() とはデータの長さの与え方が異なるだけです.
- 引数
-
[in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. |
[in] | data | 書き込むデータです.書き込むデータの量子化ビット数に応じて型が変わります. 8・16ビットであれば short 型,24・32ビットであれば long 型,64ビットであれば double 型になります. |
[in] | length | 書き込む data のポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば, data の継続時間長をポイント単位にしたものの2倍の値です. |
- 戻り値
- 書き込んだポイント数が返ります.正常に書きこめた場合は引数の
length
と同じ値になります.
◆ spWritePluginInByte()
long spWritePluginInByte |
( |
spPlugin * | plugin, |
|
|
void * | data, |
|
|
long | data_size ) |
|
related |
プラグインを用いてファイルにデータを書き込みます. spWritePlugin() とはデータの長さの与え方が異なるだけです.
- 引数
-
[in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. |
[in] | data | 書き込むデータです.書き込むデータの量子化ビット数に応じて型が変わります. 8・16ビットであれば short 型,24・32ビットであれば long 型,64ビットであれば double 型になります. |
[in] | data_size | 書き込む data のバイト数です. |
- 戻り値
- 書き込んだバイト数が返ります.正常に書きこめた場合は引数の
data_size
と同じ値になります.
◆ spWritePluginDoubleWeighted()
long spWritePluginDoubleWeighted |
( |
spPlugin * | plugin, |
|
|
double * | data, |
|
|
long | length, |
|
|
double | weight ) |
|
related |
プラグインを用いてファイルにデータを書き込みます. 値の範囲は,原則として-1〜1である必要があります.
- 引数
-
[in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. |
[in] | data | 書き込むデータです. |
[in] | length | 書き込む data のポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば, data の継続時間長をポイント単位にしたものの2倍の値です. |
[in] | weight | 書き込み前にデータの振幅値を何倍してデバイスに渡すかを指定します. |
- 戻り値
- 書き込んだポイント数が返ります.正常に書きこめた場合は引数の
length
と同じ値になります.
◆ spWritePluginDouble()
long spWritePluginDouble |
( |
spPlugin * | plugin, |
|
|
double * | data, |
|
|
long | length ) |
|
related |
プラグインを用いてファイルにデータを書き込みます. 値の範囲は,原則として-1〜1である必要があります.
- 引数
-
[in] | plugin | spOpenFilePlugin() で得られた spPlugin 型へのポインタを指定します. |
[in] | data | 書き込むデータです. |
[in] | length | 書き込む data のポイント数です(継続時間長をポイント単位にしたものではありません). 例えば,ステレオデータの場合であれば, data の継続時間長をポイント単位にしたものの2倍の値です. |
- 戻り値
- 書き込んだポイント数が返ります.正常に書きこめた場合は引数の
length
と同じ値になります.
◆ xspFindRelatedPluginFile()
char * xspFindRelatedPluginFile |
( |
const char * | plugin_name | ) |
|
|
related |
関係のあるプラグインの名前を取得します. 入力プラグインと対応する出力プラグインを探す場合などに使用します.
- 引数
-
[in] | plugin_name | プラグイン名を指定します. 例えば, "input_wav" のように指定します. |
- 戻り値
- 関連するプラグインの名前が返ります. 例えば,
"input_wav"
を引数として与えた場合は, "output_wav"
が返ります. 存在しなかった場合には NULL が返ります. 使用しなくなった場合は, xspFree() を用いて解放して下さい.
◆ xspFindSuitablePluginFileWithPriority()
char * xspFindSuitablePluginFileWithPriority |
( |
spPluginDeviceType | device_type, |
|
|
const char * | filename, |
|
|
const char * | mode, |
|
|
int * | current_priority ) |
|
related |
ファイル名とファイルを開く際のモードから,そのファイルをサポートしている適切なプラグイン名を取得します.
- 引数
-
[in] | device_type | 通常は, SP_PLUGIN_DEVICE_FILE を指定します. |
[in] | filename | ファイル名を指定します. |
[in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r" を, 書き込みモードでファイルを開く場合は "w" を指定します. |
[in,out] | current_priority | 現在の優先度の値を保持する変数のアドレスを渡します. この優先度からプラグインの検索を始めます. この優先度よりも高い優先度を持つプラグインは無視されます. 終了時に,優先度の値は,次の呼び出しのために更新されます. |
- 戻り値
- プラグインの名前が返ります.存在しなかった場合には NULL が返ります. 使用しなくなった場合は, xspFree() を用いて解放して下さい.
◆ xspFindSuitablePluginFile()
char * xspFindSuitablePluginFile |
( |
spPluginDeviceType | device_type, |
|
|
const char * | filename, |
|
|
const char * | mode ) |
|
related |
ファイル名とファイルを開く際のモードから,そのファイルをサポートしている適切なプラグイン名を取得します.
- 引数
-
[in] | device_type | 通常は, SP_PLUGIN_DEVICE_FILE を指定します. |
[in] | filename | ファイル名を指定します. |
[in] | mode | ファイルを開く際のモードを指定します. 読み込みモードでファイルを開く場合は "r" を, 書き込みモードでファイルを開く場合は "w" を指定します. |
- 戻り値
- プラグインの名前が返ります.存在しなかった場合には NULL が返ります. 使用しなくなった場合は, xspFree() を用いて解放して下さい.
◆ spOpenFilePlugin()
プラグインを用いてファイルを開きます.
- 引数
-
[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 だった場合のエラーコードの値を保持する変数のアドレスを渡します. |
- 戻り値
- spPlugin 型へのポインタが返ります. これを後の処理において,関数の引数として使用することになります.
- 参照
- spCloseFilePlugin() , spOpenFilePluginAuto() , spOpenFilePluginArg() , spOpenFilePluginArgAuto()
◆ spOpenFilePluginAuto()
プラグインを用いてファイルを開きます. 最初は 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 だった場合のエラーコードの値を保持する変数のアドレスを渡します. |
- 戻り値
- spPlugin 型へのポインタが返ります. これを後の処理において,関数の引数として使用することになります.
- 参照
- spCloseFilePlugin() , spOpenFilePlugin() , spOpenFilePluginArg() , spOpenFilePluginArgAuto()
◆ spOpenFilePluginArg()
プラグインを用いてファイルを開きます. この関数では,プラグインに対するコマンドラインオプションを渡せます. いくつかのプラグインはコマンドラインオプションに対応しているため,この関数を使用すると,関係のあるコマンドラインオプションを渡せるようになります. プラグインに関係のないコマンドラインオプションや無関係の文字列は無視されます.
- 引数
-
[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 型へのポインタが返ります. これを後の処理において,関数の引数として使用することになります.
- 参照
- spCloseFilePlugin() , spOpenFilePlugin() , spOpenFilePluginAuto() , spOpenFilePluginArgAuto()
◆ spOpenFilePluginArgAuto()
プラグインを用いてファイルを開きます. 最初は 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 型へのポインタが返ります. これを後の処理において,関数の引数として使用することになります.
- 参照
- spCloseFilePlugin() , spOpenFilePlugin() , spOpenFilePluginAuto() , spOpenFilePluginArg()
◆ spCloseFilePlugin()