struct SDS_PSTM_STAT { Sint16 rev; Sint8 m_Vol; Sint8 m_Pan; Sint8 m_FxInLev; Sint8 m_DrctLev; Sint16 m_Pitch; Sint16 rsv2; Uint32 m_TotalSmpFrame; Sint32 m_CurAdr; Uint32 m_Err; Uint32 m_Flg; }; typedef struct SDS_PSTM_STAT SDS_PSTM_STAT;
rev リザーブ領域 m_Vol ポートのボリューム値 m_Pan ポートのパンポット値 m_FxLev ポートのFXレベル m_DrctLev ポートのダイレクトレベル m_Pitch ポートのピッチ値 m_Speed ポートのスピード値 m_TotalSmpFrame 再生しているサウンドデータの総サンプルフレーム数 m_CurAdr 再生しているサウンドデータのカレントポインタ m_Err 各種エラー m_Flg 各種フラグ
PCM Streamポート内のスロットに対してのステータス情報のデータタイプです。メンバ m_Flgには次のビットが設定されます。該当ビットが立っていると対応する機能を実行中ということになります。
SDD_PORT_FLG_PLAY サウンドデータの再生中 SDD_PORT_FLG_CHG_VOL ボリューム設定中(フェード処理中) SDD_PORT_FLG_CHG_PITCH ピッチ設定中(フェード処理中) SDD_PORT_FLG_CHG_PAN パンポット設定中(フェード処理中) SDD_PORT_FLG_TROUBLE エラー発生時
メンバ m_Errには次のビットが設定されます。該当ビットが立っていると対応するエラーが発生しているということになります。
定義 意味 SDD_PORT_ERR_REQUEST_NUM サウンドデータの再生リクエストを受けたが実行できない場合
/* * ハンドルgPstmHandleのポートでPCM Stream再生中かどうか調べる */ SDS_PSTM_STAT stat; sdPstmGetStat( gPstmHandle, 0, &stat) if ( stat.m_Flg & SDD_PORT_FLG_PLAY) { /* * PCM Stream再生中 */ }
sdPstmGetStat() PCM Streamポートのステータスの取得 sdPstmGetStat() PCM Streamポートのステータスの取得