# 列挙型データタイプ

種類 | データタイプ名 | 備考
--- | --- | ---
列挙 | `SDE_ERR` | エラーを定義したデータタイプ
`SDE_DATA_TYPE` | サウンドデータの種類を定義したデータタイプ
`SDE_SPACE` | サウンド再生空間を定義したデータタイプ
`SDE_PCM_TYPE` | PCMのタイプを表わす．
`SDE_MEMBLK_STAT` | メモリブロックの状況を定義したデータタイプ

## 列挙についての注意事項

列挙については下記の注意事項がありますので，注意してください．

- 列挙子の値を直接利用しない．
  列挙子の値は変更されることがあります．必ず列挙子名を使用して記述を行ってください．
- 列挙子の値を演算・大小比較などをしないで下さい．
  列挙体は仕様上C++規格でエラーにならない使用法を用いてください．

## SDE_ERR

サウンドライブラリのエラーを表わす．この中の`SDE_ERR_NOTHING`はエラーが無かったことを表わす．

`列挙子名` | 意味
--- | ---
`SDE_ERR_NOTHING` | エラーがなかったことを表す．
`SDE_ERR_PRM_OVER_RANGE` | パラメータの範囲を超えている場合のエラー．
`SDE_ERR_HANDLE_ILLEGAL_VALUE` | ハンドルの値がおかしい場合のエラー．
`SDE_ERR_HANDLE_NULL` | ハンドルが0アドレスを指している場合のエラー．
`SDE_ERR_HANDLE_NO_ENOUGH` | これ以上ハンドルを取得できない場合のエラー．
`SDE_ERR_PTR_ILLEGAL_VALUE` | ポインタの値がおかしい場合のエラー．
`SDE_ERR_PTR_NULL` | ポインタが0アドレスを指している場合のエラー．
`SDE_ERR_DATA_ILLEGAL_TYPE` | データタイプがおかしい．
`SDE_ERR_DATA_CAN_NOT_USE` | データが使用できない．
`SDE_ERR_DATA_NOTHING` | データがない．
`SDE_ERR_BANK_ILLEGAL_NUM` | バンク番号がおかしい．
`SDE_ERR_HOST_CMD_BUF_NO_ENOUGH` | これ以上ホストコマンドを発行できない場合のエラー．
`SDE_ERR_SND_DRV_PROBLEM` | サウンドドライバの動作不良エラー．
`SDE_ERR_SND_DRV_ILLEGAL_VER` | サウンドドライバのバージョンの不一致エラー．
`SDE_ERR_SND_DRV_BUSY` | サウンドドライバが処理中．
`SDE_ERR_NO_INIT` | 初期化が行われていなかった場合のエラー．
`SDE_ERR_ALREADY_INIT` | 既に初期化されている場合のエラー．
`SDE_ERR_HARD_WARE` | ハードウェアのエラー．
`SDE_ERR_UNKNOW_PROBLEM` | 未知の問題が発生した場合のエラー．

## SDE_DATA_TYPE

データの種別を表わす．

`列挙子名` | 意味
--- | ---
`SDE_DATA_TYPE_SND_DRV` | サウンドドライバ．
`SDE_DATA_TYPE_MULTI_UNIT` | マルチユニット．
`SDE_DATA_TYPE_MIDI_SEQ_DATA` | MIDIシーケンスデータ．
`SDE_DATA_TYPE_MIDI_SEQ_BANK` | MIDIシーケンスバンク．MIDIシーケンスデータの集まり．
`SDE_DATA_TYPE_MIDI_PRG_BANK` | MIDIプログラムバンク．MIDI音源としての音色群．
`SDE_DATA_TYPE_SHOT_DATA` | ワンショットデータ．
`SDE_DATA_TYPE_SHOT_BANK` | ワンショットバンク．ワンショットデータの集まり．
`SDE_DATA_TYPE_PSTM_DATA` | PCMストリームデータ．実際に現在このサポートはされていません（将来サポートの予定です）
`SDE_DATA_TYPE_PSTM_RING_BUF` | PCMストリームデータを再生するためのリングバッファ．実際にデータとして存在するわけではなく，管理上の定義．
`SDE_DATA_TYPE_FX_OUT_BANK` | FXアウトバンク．DSPの最終出力パラメータの集まりであるFXアウトプットデータの集まり．
`SDE_DATA_TYPE_FX_PRG_BANK` | FXプログラムバンク．DSPのコードであるFXプログラムの集まり．
`SDE_DATA_TYPE_FX_PRG_WRK` | FXプログラムワーク．`SDE_PSTM_RING_BUF`と同様に管理上の定義．

## SDE_SPACE

サウンドの再生空間を表わす．

`列挙子名` | 意味
--- | ---
`SDE_SPACE_MONO` | モノラル音声を表す．
`SDE_SPACE_STEREO` | ステレオ音声を表す．

## SDE_PCM_TYPE

PCMデータの種類を表わす．

`列挙子名` | 意味
--- | ---
`SDE_PCM_TYPE_8BIT_PCM` | 8ビットリニアPCMを表わす．
`SDE_PCM_TYPE_16BIT_PCM` | 16ビットリニアPCMを表わす．
`SDE_PCM_TYPE_4BIT_ADPCM` | 4ビットADPCMを表わす．

## SDE_MEMBLK_STAT

メモリブロックの転送状況を表わす．

`列挙子名` | 意味
--- | ---
`SDE_MEMBLK_STAT_TRANSFER_REMAIN` | まだ転送が開始されていないメモリブロックを表わす．
`SDE_MEMBLK_STAT_TRANSFER_FINISHED` | 転送が終了したメモリブロックを表わす．
`SDE_MEMBLK_STAT_TRANSFER_PROGRESS` | 転送中のメモリブロックを表わす．

## SDE_MEMBLK_TRANSFER_MODE

メモリブロックの転送方法を表わす．メモリブロック転送モードを設定するAPIである`sdMemBlkSetTransferMode`で使用します．

`列挙子名` | 意味
--- | ---
`SDE_MEMBLK_TRANSFER_MODE_CPU` | CPU（SH-4）で転送．
`SDE_MEMBLK_TRANSFER_MODE_DMA` | DMAで転送．