CRIWARE Unity Plugin Manual  Last Updated: 2024-12-05
CriAtomExAcb クラス

ACB、AWBデータ [詳解]

CriDisposableを継承しています。

公開メンバ関数

override void Dispose ()
 ACBファイルのアンロード [詳解]
 
bool Exists (string cueName)
 キューの存在確認(キュー名指定) [詳解]
 
bool Exists (int cueId)
 キューの存在確認(キューID指定) [詳解]
 
bool GetCueInfo (string cueName, out CriAtomEx.CueInfo info)
 キュー情報の取得(キュー名指定) [詳解]
 
bool GetCueInfo (int cueId, out CriAtomEx.CueInfo info)
 キュー情報の取得(キューID指定) [詳解]
 
bool GetCueInfoByIndex (int index, out CriAtomEx.CueInfo info)
 キュー情報の取得(キューインデックス指定) [詳解]
 
CriAtomEx.CueInfo[] GetCueInfoList ()
 すべてのキュー情報の取得 [詳解]
 
bool GetWaveFormInfo (string cueName, out CriAtomEx.WaveformInfo info)
 音声波形情報の取得(キュー名指定) [詳解]
 
bool GetWaveFormInfo (int cueId, out CriAtomEx.WaveformInfo info)
 音声波形情報の取得(キューID指定) [詳解]
 
int GetNumCuePlaying (string name)
 キューリミットが設定されているキューの発音数の取得(キュー名指定) [詳解]
 
int GetNumCuePlaying (int id)
 キューリミットが設定されているキューの発音数の取得(キューID指定) [詳解]
 
int GetBlockIndex (string cueName, string blockName)
 ブロックインデックスの取得(キュー名指定) [詳解]
 
int GetBlockIndex (int cueId, string blockName)
 ブロックインデックスの取得(キューID指定) [詳解]
 
int GetNumUsableAisacControls (string cueName)
 キューでコントロール可能なAISAC Controlの個数の取得(キュー名指定) [詳解]
 
int GetNumUsableAisacControls (int cueId)
 キューでコントロール可能なAISAC Controlの個数の取得(キューID指定) [詳解]
 
bool GetUsableAisacControl (string cueName, int index, out CriAtomEx.AisacControlInfo info)
 キューでコントロール可能なAISAC Controlの取得(キュー名指定) [詳解]
 
bool GetUsableAisacControl (int cueId, int index, out CriAtomEx.AisacControlInfo info)
 キューでコントロール可能なAISAC Controlの取得(キューID指定) [詳解]
 
void ResetCueTypeState (string cueName)
 キュータイプステートのリセット(キュー名指定) [詳解]
 
void ResetCueTypeState (int cueId)
 キュータイプステートのリセット(キューID指定) [詳解]
 
void AttachAwbFile (CriFsBinder awb_binder, string awb_path, string awb_name)
 ストリーム用AWBファイルのアタッチ [詳解]
 
void DetachAwbFile (string awb_name)
 ストリーム用AWBファイルのデタッチ [詳解]
 
bool IsReadyToRelease ()
 ACBハンドルの即時解放状態の取得 [詳解]
 

静的公開メンバ関数

static CriAtomExAcb LoadAcbFile (CriFsBinder binder, string acbPath, string awbPath)
 ACBファイルのロード [詳解]
 
static CriAtomExAcb LoadAcbData (byte[] acbData, CriFsBinder awbBinder, string awbPath)
 ACBデータのロード [詳解]
 
static CriAtomExAcb LoadAcbData (IntPtr acbData, int dataSize, CriFsBinder awbBinder, string awbPath)
 ACBデータのロード [詳解]
 

詳解

ACB、AWBデータ

説明:
キュー情報を管理するクラスです。
ACB、AWBファイルのロード、アンロードやキュー情報等を取得します。

関数詳解

static CriAtomExAcb LoadAcbFile ( CriFsBinder  binder,
string  acbPath,
string  awbPath 
)
inlinestatic

ACBファイルのロード

引数
binderバインダオブジェクト
acbPathACBファイルのパス
awbPathAWBファイルのパス
戻り値
CriAtomExAcbオブジェクト
説明:
ACBファイルをロードし、キュー再生に必要な情報を取り込みます。

第2引数の acbPath にはオンメモリ再生用のACBファイルのパスを、 第3引数の awbPath にはストリーム再生用のAWBファイルのパスを、それぞれ指定します。
(オンメモリ再生のみのACBデータをロードする場合、 awbPath にセットした値は無視されます。)

ACBファイルとAWBファイルを一つのCPKファイルにパッキングしている場合、 第1引数( binder )にCPKファイルをバインドしたCriFsBinderオブジェクトを指定する必要があります。

ACBファイルをロードすると、ACBデータにアクセスするためのCriAtomExAcbオブジェクト ( CriWare.CriAtomExAcb )が返されます。
AtomExプレーヤに対し、 CriWare.CriAtomExPlayer::SetCue 関数でACBハンドル、 および再生するキュー名を指定することで、 ACBファイル内のキューを再生することが可能です。

リードエラー等によりACBファイルのロードに失敗した場合、 本関数は戻り値として null を返します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

ACBハンドルは内部的にバインダ( CriFsBinder )を確保します。
ACBファイルをロードする場合、 ACBファイル数分のバインダが確保できる設定でライブラリを初期化する必要があります。

本関数は完了復帰型の関数です。
ACBファイルのロードにかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExPlayer::SetCue
static CriAtomExAcb LoadAcbData ( byte[]  acbData,
CriFsBinder  awbBinder,
string  awbPath 
)
inlinestatic

ACBデータのロード

引数
acbDataACBデータのバイト配列
awbBinderAWB用バインダオブジェクト
awbPathAWBファイルのパス
戻り値
CriAtomExAcbオブジェクト
説明:
メモリ上に配置されたACBデータをロードし、キュー再生に必要な情報を取り込みます。

第2引数の awbPath にはストリーム再生用のAWBファイルのパスを、それぞれ指定します。
(オンメモリ再生のみのACBデータをロードする場合、 awbPath にセットした値は無視されます。)

AWBファイルをCPKファイルにパッキングしている場合、 第2引数( binder )にCPKファイルをバインドしたCriFsBinderオブジェクトを指定する必要があります。

ACBデータをロードすると、ACBデータにアクセスするためのCriAtomExAcbオブジェクト ( CriWare.CriAtomExAcb )が返されます。
AtomExプレーヤに対し、 CriWare.CriAtomExPlayer::SetCue 関数でACBハンドル、 および再生するキュー名を指定することで、 ACBファイル内のキューを再生することが可能です。

リードエラー等によりACBファイルのロードに失敗した場合、 本関数は戻り値として null を返します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

ACBハンドルは内部的にバインダ( CriFsBinder )を確保します。
ACBファイルをロードする場合、 ACBファイル数分のバインダが確保できる設定でライブラリを初期化する必要があります。

本関数は完了復帰型の関数です。
ACBファイルのロードにかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExPlayer::SetCue
static CriAtomExAcb LoadAcbData ( IntPtr  acbData,
int  dataSize,
CriFsBinder  awbBinder,
string  awbPath 
)
inlinestatic

ACBデータのロード

引数
acbData固定されたACBデータのポインタ
dataSizeACBのデータサイズ
awbBinderAWB用バインダオブジェクト
awbPathAWBファイルのパス
戻り値
CriAtomExAcbオブジェクト
説明:
メモリ上に配置されたACBデータをロードし、キュー再生に必要な情報を取り込みます。

第2引数の awbPath にはストリーム再生用のAWBファイルのパスを指定します。
(オンメモリ再生のみのACBデータをロードする場合、 awbPath にセットした値は無視されます。)

AWBファイルをCPKファイルにパッキングしている場合、 第2引数( binder )にCPKファイルをバインドしたCriFsBinderオブジェクトを指定する必要があります。

ACBデータをロードすると、ACBデータにアクセスするためのCriAtomExAcbオブジェクト ( CriWare.CriAtomExAcb )が返されます。
AtomExプレーヤに対し、 CriWare.CriAtomExPlayer::SetCue 関数でACBハンドル、 および再生するキュー名を指定することで、 ACBファイル内のキューを再生することが可能です。

リードエラー等によりACBファイルのロードに失敗した場合、 本関数は戻り値として null を返します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

ACBハンドルは内部的にバインダ( CriFsBinder )を確保します。
ACBファイルをロードする場合、 ACBファイル数分のバインダが確保できる設定でライブラリを初期化する必要があります。

本関数は完了復帰型の関数です。
ACBファイルのロードにかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
備考:
本メソッドはネイティブメモリ領域のデータを指定する際に利用することを想定しており、
acbData にはメモリ上で固定されたデータを示すポインタを指定する必要があります。
マネージド領域のバイト配列を利用する場合はCriAtomExAcb.LoadAcbData(byte[], CriFsBinder, string)をご利用ください。
参照
CriAtomExPlayer::SetCue
override void Dispose ( )
inline

ACBファイルのアンロード

説明:
ロード済みのACBファイルをアンロードします。
備考:
本関数を実行すると、 アンロードするACBファイルを参照しているキューは全て停止されます。
(本関数実行後に、ACBハンドルの作成に使用したワーク領域や、 ACBデータが配置されていた領域が参照されることはありません。)
注意:
本関数を実行すると、破棄しようとしているACBデータを参照している Atomプレーヤが存在しないか、ライブラリ内で検索処理が行われます。
そのため、本関数実行中に他スレッドでAtomプレーヤの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。
参照
CriAtomExAcb::LoadAcbData, CriAtomExAcb::LoadAcbFile
bool Exists ( string  cueName)
inline

キューの存在確認(キュー名指定)

引数
cueNameキュー名
戻り値
キューが存在するかどうか(存在する:True、存在しない:False)
説明:
指定した名前のキューが存在するかどうかを取得します。
存在した場合にはTrueを返します。
bool Exists ( int  cueId)
inline

キューの存在確認(キューID指定)

引数
cueIdキューID
戻り値
キューが存在するかどうか(存在する:True、存在しない:False)
説明:
指定したIDのキューが存在するかどうかを取得します。
存在した場合にはTrueを返します。
bool GetCueInfo ( string  cueName,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キュー名指定)

引数
cueNameキュー名
infoキュー情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名を指定して、キュー情報を取得します。
指定した名前のキューが存在しない場合、Falseが返ります。
参照
CriAtomExAcb::GetCueInfoByIndex
bool GetCueInfo ( int  cueId,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キューID指定)

引数
cueIdキューID
infoキュー情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDを指定して、キュー情報を取得します。
指定したIDのキューが存在しない場合、Falseが返ります。
参照
CriAtomExAcb::GetCueInfoByIndex
bool GetCueInfoByIndex ( int  index,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キューインデックス指定)

引数
indexキューインデックス
infoキュー情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューインデックスを指定して、キュー情報を取得します。
指定したインデックスのキューが存在しない場合、Falseが返ります。
参照
CriAtomExAcb::GetCueInfo
CriAtomEx.CueInfo [] GetCueInfoList ( )
inline

すべてのキュー情報の取得

戻り値
キュー情報配列
説明:
Acbに含まれるすべてのキュー情報を取得します。
参照
CriAtomExAcb::GetCueInfo
bool GetWaveFormInfo ( string  cueName,
out CriAtomEx.WaveformInfo  info 
)
inline

音声波形情報の取得(キュー名指定)

引数
cueNameキュー名
info音声波形情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名を指定して、そのキューで再生される音声波形の情報を取得します。
そのキューで再生される音声波形が複数ある場合、 初めのトラックで初めに再生される音声波形の情報が取得されます。
指定した名前のキューが存在しない場合、falseが返ります。
bool GetWaveFormInfo ( int  cueId,
out CriAtomEx.WaveformInfo  info 
)
inline

音声波形情報の取得(キューID指定)

引数
cueIdキューID
info音声波形情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDを指定して、そのキューで再生される音声波形の情報を取得します。
そのキューで再生される音声波形が複数ある場合、 初めのトラックで初めに再生される音声波形の情報が取得されます。 指定したIDのキューが存在しない場合、Falseが返ります。
int GetNumCuePlaying ( string  name)
inline

キューリミットが設定されているキューの発音数の取得(キュー名指定)

引数
nameキュー名
戻り値
発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります)
説明:
キュー名を指定して、キューリミットが設定されているキューの発音数を取得します。
指定した名前のキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
int GetNumCuePlaying ( int  id)
inline

キューリミットが設定されているキューの発音数の取得(キューID指定)

引数
idキューID
戻り値
発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります)
説明:
キューIDを指定して、キューリミットが設定されているキューの発音数を取得します。
指定したIDのキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
int GetBlockIndex ( string  cueName,
string  blockName 
)
inline

ブロックインデックスの取得(キュー名指定)

引数
cueNameキュー名
blockNameブロック名
戻り値
ブロックインデックス
説明:
キュー名とブロック名からブロックインデックスを取得します。
指定した名前のキューが存在しない場合やブロック名が存在しない場合は、 0xFFFFFFFF が返ります。
int GetBlockIndex ( int  cueId,
string  blockName 
)
inline

ブロックインデックスの取得(キューID指定)

引数
cueIdキューID
blockNameブロック名
戻り値
ブロックインデックス
説明:
キューIDとブロック名からブロックインデックスを取得します。
指定したIDのキューが存在しない場合やブロック名が存在しない場合は、 0xFFFFFFFF が返ります。
int GetNumUsableAisacControls ( string  cueName)
inline

キューでコントロール可能なAISAC Controlの個数の取得(キュー名指定)

引数
cueNameキュー名
戻り値
AISAC Controlの個数
説明:
キュー名を指定して、キューでコントロール可能なAISAC Controlの個数を取得します。
指定した名前のキューが存在しない場合は、-1が返ります。
参照
CriAtomExAcb::GetUsableAisacControl
int GetNumUsableAisacControls ( int  cueId)
inline

キューでコントロール可能なAISAC Controlの個数の取得(キューID指定)

引数
cueIdキューID
戻り値
AISAC Controlの個数
説明:
キューIDを指定して、キューでコントロール可能なAISAC Controlの個数を取得します。
指定したIDのキューが存在しない場合は、-1が返ります。
参照
CriAtomExAcb::GetUsableAisacControl
bool GetUsableAisacControl ( string  cueName,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

キューでコントロール可能なAISAC Controlの取得(キュー名指定)

引数
cueNameキュー名
indexAISAC Controlインデックス
infoAISAC Control情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名とAISAC Controlインデックスを指定して、AISAC Control情報を取得します。
指定した名前のキューが存在しない場合は、Falseが返ります。
参照
CriAtomExAcb::GetNumUsableAisacControls
bool GetUsableAisacControl ( int  cueId,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

キューでコントロール可能なAISAC Controlの取得(キューID指定)

引数
cueIdキューID
indexAISAC Controlインデックス
infoAISAC Control情報
戻り値
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDとAISAC Controlインデックスを指定して、AISAC Control情報を取得します。
指定したIDのキューが存在しない場合は、Falseが返ります。
参照
CriAtomExAcb::GetNumUsableAisacControls
void ResetCueTypeState ( string  cueName)
inline

キュータイプステートのリセット(キュー名指定)

引数
cueNameキュー名
説明:
キュー名を指定して、キュータイプステートをリセットします。
注意:
リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考:
キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。
本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
void ResetCueTypeState ( int  cueId)
inline

キュータイプステートのリセット(キューID指定)

引数
cueIdキュー名
説明:
キュー名を指定して、キュータイプステートをリセットします。
注意:
リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考:
キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。
本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
void AttachAwbFile ( CriFsBinder  awb_binder,
string  awb_path,
string  awb_name 
)
inline

ストリーム用AWBファイルのアタッチ

引数
awb_binderAWBファイルを含むバインダのハンドル
awb_pathAWBファイルのパス
awb_nameAWB名
説明:
ACBハンドルに対してストリーム用のAWBファイルをアタッチします。 第1引数の awb_binder 、および第2引数の awb_path には、ストリーム再生用 のAWBファイルを指定します。
第3引数の awb_name はAWBをアタッチするスロットを指定するために使用します。 このため、AtomCraftが出力したAWB名(ファイル名から拡張子を取り除いた部分)を変更している場合 はオリジナルのAWB名を指定してください。
AWBファイルのアタッチに失敗した場合、エラーコールバックが発生します。
失敗の理由については、エラーコールバックのメッセージで確認可能です。
備考:
AWBファイルをアタッチするとライブラリ内部的にバインダ( CriFsBinderHn )とローダ( CriFsLoaderHn ) を確保します。
追加でAWBファイルをアタッチする場合、追加数分のバインダとローダが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。
void DetachAwbFile ( string  awb_name)
inline

ストリーム用AWBファイルのデタッチ

引数
awb_nameAWB名
説明:
ACBハンドルにアタッチされているストリーム用のAWBファイルをデタッチします。 第1引数の awb_name はAWBをアタッチ時に指定したものと同じAWB名を指定指定ください。
bool IsReadyToRelease ( )
inline

ACBハンドルの即時解放状態の取得

戻り値
ACBの状態(True = 即時解放可能、False = 再生中のプレーヤあり)
説明:
ACBハンドルを即座に解放可能かどうかをチェックします。
本関数が false を返すタイミングで CriWare.CriAtomExAcb::Dispose 関数を実行すると、 ACBハンドルを参照しているプレーヤに対する停止処理が行われます。
(ストリーム再生用のACBハンドルの場合、ファイル読み込み完了を待つため、 CriWare.CriAtomExAcb::Dispose 関数内で長時間処理がブロックされる可能性があります。)

このクラス詳解は次のファイルから抽出されました: