Class CriAtomExAcb
ACBハンドル
Implements
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public class CriAtomExAcb : IDisposable
Remarks
説明: キューシート情報を管理するオブジェクトです。 LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数等で読み込んだキューシートファイル内の 音声を再生する場合、本オブジェクトとキューIDをプレーヤーに対してセットします。
Properties
DetectionInGamePreviewDataCallback
コールバックイベントオブジェクト
Declaration
public static CriAtomExAcb.DetectionInGamePreviewDataCbFunc DetectionInGamePreviewDataCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExAcb.DetectionInGamePreviewDataCbFunc |
See Also
NativeHandle
ネイティブハンドル
Declaration
public NativeHandleIntPtr NativeHandle { get; }
Property Value
Type | Description |
---|---|
NativeHandleIntPtr |
Methods
AttachAwbFile(CriFsBinder, ArgString, ArgString)
LE Proストリーム用AWBファイルのアタッチ
Declaration
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
ArgString | awbName | AWB名 |
Remarks
説明: ACBオブジェクトに対してストリーム用のAWBファイルをアタッチします。 第2引数の awb_binder 、および第3引数の awb_path には、ストリーム再生用 のAWBファイルを指定します。 第5引数の awb_name はAWBをアタッチするスロットを指定するために使用します。 このため、AtomCraftが出力したAWB名(ファイル名から拡張子を取り除いた部分)を変更している場合 はオリジナルのAWB名を指定してください。 AWBファイルのアタッチを行うには、ライブラリが内部で利用するためのメモリ領域 (ワーク領域)を確保する必要があります。 AWBファイルのアタッチに失敗した場合、エラーコールバックが発生します。 失敗の理由については、エラーコールバックのメッセージで確認可能です。
備考: ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。 workにnull、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。 アタッチ時に確保されたメモリは、デタッチ時( DetachAwbFile(ArgString) 関数実行時)か、ACBオブジェクトリリース時( Dispose() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSizeForAttachAwbFile(CriFsBinder, ArgString) 関数で取得可能です。 本関数呼び出し時に CalculateWorkSizeForAttachAwbFile(CriFsBinder, ArgString) 関数で取得した サイズ分のメモリを予め確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域はデタッチ処理( DetachAwbFile(ArgString) 関数実行時)か、ACBオブジェクトリリース処理( Dispose() 関数実行時)を行うまでの間、 ライブラリ内で利用され続けます。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
CalculateWorkSizeForAttachAwbFile(CriFsBinder, ArgString)
LE Proストリーム用AWBファイルのアタッチに必要なワークサイズ取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
Returns
Type | Description |
---|---|
int | CriSint32 ワーク領域サイズ |
Remarks
説明: LoadAcbFileById(CriFsBinder, ushort, CriFsBinder, ushort) 関数の実行に必要なワーク領域サイズを計算します。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
CalculateWorkSizeForLoadAcbData(IntPtr, int, CriFsBinder, ArgString)
LE ProオンメモリACBデータのロードに必要なワーク領域サイズの計算
Declaration
public static int CalculateWorkSizeForLoadAcbData(IntPtr acbData, int acbDataSize, CriFsBinder awbBinder, ArgString awbPath)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | acbData | ACBデータアドレス |
int | acbDataSize | ACBデータサイズ |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
Returns
Type | Description |
---|---|
int | CriSint32 ワーク領域サイズ |
Remarks
説明: LoadAcbData(ReadOnlySpan<byte>, CriFsBinder, ArgString) 関数の実行に必要なワーク領域サイズを計算します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケーター登録を行わずに LoadAcbData(ReadOnlySpan<byte>, CriFsBinder, ArgString) 関数でAWBデータをロードする際には、 本関数が返すサイズ分のメモリをワーク領域として渡す必要があります。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: ワーク領域のサイズはライブラリ初期化時( Initialize(in Config) 関数実行時) に指定したパラメーターによって変化します。 そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。
See Also
CalculateWorkSizeForLoadAcbDataById(IntPtr, int, CriFsBinder, ushort)
LE ProオンメモリACBデータのロードに必要なワーク領域サイズの計算(CPKコンテンツID指定)
Declaration
public static int CalculateWorkSizeForLoadAcbDataById(IntPtr acbData, int acbDataSize, CriFsBinder awbBinder, ushort awbId)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | acbData | ACBデータアドレス |
int | acbDataSize | ACBデータサイズ |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ushort | awbId | CPKファイル内のAWBデータのID |
Returns
Type | Description |
---|---|
int | CriSint32 ワーク領域サイズ |
Remarks
説明: LoadAcbDataById(IntPtr, int, CriFsBinder, ushort) 関数の実行に必要なワーク領域サイズを計算します。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 CalculateWorkSizeForLoadAcbData(IntPtr, int, CriFsBinder, ArgString) 関数と機能は同じです。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
CalculateWorkSizeForLoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString)
LE ProACBファイルのロードに必要なワーク領域サイズの計算
Declaration
public static int CalculateWorkSizeForLoadAcbFile(CriFsBinder acbBinder, ArgString acbPath, CriFsBinder awbBinder, ArgString awbPath)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | acbBinder | ACBファイルを含むバインダーのハンドル |
ArgString | acbPath | ACBファイルのパス |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
Returns
Type | Description |
---|---|
int | CriSint32 ワーク領域サイズ |
Remarks
説明: LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数の実行に必要なワーク領域サイズを計算します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケーター登録を行わずに LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数でACBファイルをロードする際には、 本関数が返すサイズ分のメモリをワーク領域として渡す必要があります。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
注意: ワーク領域のサイズはライブラリ初期化時( Initialize(in Config) 関数実行時) に指定したパラメーターによって変化します。 そのため、本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は完了復帰型の関数です。 ACBファイルのロードにかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
CalculateWorkSizeForLoadAcbFileById(CriFsBinder, ushort, CriFsBinder, ushort)
LE ProACBファイルのロードに必要なワーク領域サイズの計算(CPKコンテンツID指定)
Declaration
public static int CalculateWorkSizeForLoadAcbFileById(CriFsBinder acbBinder, ushort acbId, CriFsBinder awbBinder, ushort awbId)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | acbBinder | ACBファイルを含むバインダーのハンドル |
ushort | acbId | CPKファイル内のACBデータのID |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ushort | awbId | CPKファイル内のAWBデータのID |
Returns
Type | Description |
---|---|
int | CriSint32 ワーク領域サイズ |
Remarks
説明: LoadAcbFileById(CriFsBinder, ushort, CriFsBinder, ushort) 関数の実行に必要なワーク領域サイズを計算します。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 CalculateWorkSizeForLoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数と機能は同じです。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
DetachAwbFile(ArgString)
LE Proストリーム用AWBファイルのデタッチ
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | awbName | AWB名 |
Remarks
説明: ACBオブジェクトにアタッチされているストリーム用のAWBファイルをデタッチします。 第2引数の awb_name はAWBをアタッチ時に指定したものと同じAWB名を指定指定ください。 アタッチ時のワーク領域確保にUser Allocator方式を用いた場合は、アタッチ時に確保したメモリ領域が 本関数処理時に開放されます。
See Also
Dispose()
LE ProACBハンドルのリリース
Declaration
Remarks
説明: ACBオブジェクトを解放します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 ACBオブジェクト作成時に確保されたメモリ領域が解放されます。 (ACBオブジェクト作成時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
備考: 本関数でACBオブジェクトを破棄する際には、 当該ACBオブジェクトを参照しているキューは全て停止されます。 (本関数実行後に、ACBオブジェクトの作成に使用したワーク領域や、 ACBデータが配置されていた領域が参照されることはありません。)
注意: 本関数を実行すると、破棄しようとしているACBデータを参照している Atomプレーヤーの存在を検索する処理が動作します。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 Atomプレーヤーの作成/破棄を Lock() 関数でロックしてから実行ください。
See Also
EnumerateHandles(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeBool>, IntPtr)
LE ProACBハンドルの列挙
Declaration
public static int EnumerateHandles(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeBool> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, IntPtr, NativeBool> | func | ACBハンドルコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Returns
Type | Description |
---|---|
int | CriSint32 列挙されたACBオブジェクトの数 |
Remarks
説明: ACBオブジェクトを列挙します。 本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数がACBオブジェクトの数分だけ呼び出されます。 コールバック関数には、ACBオブジェクトが引数として渡されます。
備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomExAcb.HandleCbFunc の説明をご参照ください。 戻り値は列挙されたACBオブジェクトの数(登録したコールバック関数が呼び出された回数)です。 (初回コールバック時に列挙を中止した場合でも 1 が返されます。) ACBオブジェクトが存在しない場合、本関数は 0 を返します。 また、引数が不正な場合等、エラーが発生した際には -1 を返します。
注意: ACBオブジェクトをコールバック関数内で破棄してはいけません。 全てのACBオブジェクトを一括で破棄する場合には、本関数の代わりに、 ReleaseAll() 関数を使用してください。
See Also
ExistsId(int)
LE Proキューの存在確認(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
bool | CriBool キューが存在するかどうか(存在する:true/存在しない:false) |
Remarks
説明: 指定したIDのキューが存在するかどうかを取得します。 存在した場合にはtrueを返します。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータが検索対象となります。 (指定したIDを持つACBデータが1つでも存在すれば、本関数は true を返します。)
ExistsIndex(int)
LE Proキューの存在確認(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
Returns
Type | Description |
---|---|
bool | CriBool キューが存在するかどうか(存在する:true/存在しない:false) |
Remarks
説明: 指定したインデックスのキューが存在するかどうかを取得します。 存在した場合にはtrueを返します。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータが検索対象となります。 (指定したキューインデックスを持つACBデータが1つでも存在すれば、本関数は true を返します。)
ExistsName(ArgString)
LE Proキューの存在確認(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
bool | CriBool キューが存在するかどうか(存在する:true/存在しない:false) |
Remarks
説明: 指定した名前のキューが存在するかどうかを取得します。 存在した場合にはtrueを返します。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータが検索対象となります。 (指定したキュー名を持つACBデータが1つでも存在すれば、本関数は true を返します。)
GetAcbInfo(out Info)
LE ProACB情報の取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
CriAtomExAcb.Info | acbInfo | ACB情報 |
Returns
Type | Description |
---|---|
bool | CriBool 情報が取得できたかどうか?(取得できた:true/取得できない:false) |
Remarks
説明: ACBデータの各種情報を取得します。
備考: 引数( acb_hn )に null を指定した場合、最後にロードしたACBデータを処理対象とします。
See Also
GetAwbFileSlotName(ushort)
LE Proストリーム用AWBスロットの取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
ushort | index | スロットインデックス |
Returns
Type | Description |
---|---|
NativeString | const CriChar8* ストリームAWBポート名 |
Remarks
説明: インデックスを指定してACBオブジェクト内のストリームAWBスロット名を取得します。 取得したスロット名は AttachAwbFile(CriFsBinder, ArgString, ArgString) 関数の第4引数や、 DetachAwbFile(ArgString) 関数の第2引数のスロット指定に使用します。
GetBlockIndexById(int, ArgString)
LE Proブロックインデックスの取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
ArgString | blockName | ブロック名 |
Returns
Type | Description |
---|---|
int | int ブロックインデックス |
Remarks
説明: キューIDとブロック名からブロックインデックスを取得します。 指定したキューIDのキューが存在しない場合やブロック名が存在しない場合は、 InvalidBlockIndex が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキュー内のブロックインデックスが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetBlockIndexByIndex(int, ArgString)
LE Proブロックインデックスの取得(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
ArgString | blockName | ブロック名 |
Returns
Type | Description |
---|---|
int | int ブロックインデックス |
Remarks
説明: キューインデックスとブロック名からブロックインデックスを取得します。 指定したキューインデックスのキューが存在しない場合やブロック名が存在しない場合は、 InvalidBlockIndex が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューインデックスに 合致するデータの存在を検索する処理が動作します。 (指定したキューインデックスを持つACBデータが見つかった時点で、 当該ACBデータ内のキュー内のブロックインデックスが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetBlockIndexByName(ArgString, ArgString)
LE Proブロックインデックスの取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
ArgString | blockName | ブロック名 |
Returns
Type | Description |
---|---|
int | int ブロックインデックス |
Remarks
説明: キュー名とブロック名からブロックインデックスを取得します。 指定したキュー名のキューが存在しない場合やブロック名が存在しない場合は、 InvalidBlockIndex が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキュー内のブロックインデックスが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueIdByIndex(int)
LE ProキューIDの取得(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
Returns
Type | Description |
---|---|
int | int キューID |
Remarks
説明: キューインデックスからキューIDを取得します。 指定したキューインデックスのキューが存在しない場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューインデックスに 合致するデータの存在を検索する処理が動作します。 (指定したキューインデックスを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのIDが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueIdByName(ArgString)
LE ProキューIDの取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
int | int キューID |
Remarks
説明: キュー名からキューIDを取得します。 指定したキュー名のキューが存在しない場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのIDが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueIndexById(int)
LE Proキューインデックスの取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
int | int キューインデックス |
Remarks
説明: キューIDからキューインデックスを取得します。 指定したキューIDのキューが存在しない場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのインデックスが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueIndexByName(ArgString)
LE Proキューインデックスの取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
int | int キューインデックス |
Remarks
説明: キュー名からキューインデックスを取得します。 指定したキュー名のキューが存在しない場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのインデックスが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueInfoById(int, out CueInfo)
LE Proキュー情報の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
CriAtomEx.CueInfo | info | キュー情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キューIDを指定して、キュー情報を取得します。 指定したキューIDのキューが存在しない場合、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetCueInfoByIndex(int, out CueInfo)
LE Proキュー情報の取得(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
CriAtomEx.CueInfo | info | キュー情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キューインデックスを指定して、キュー情報を取得します。 指定したキューインデックスのキューが存在しない場合、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetCueInfoByName(ArgString, out CueInfo)
LE Proキュー情報の取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
CriAtomEx.CueInfo | info | キュー情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キュー名を指定して、キュー情報を取得します。 指定したキュー名のキューが存在しない場合、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetCueNameById(int)
LE Proキュー名の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
NativeString | const CriChar8* キュー名 |
Remarks
説明: キューIDからキュー名を取得します。 指定したキューIDのキューが存在しない場合、nullが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューの名前が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCueNameByIndex(int)
LE Proキュー名の取得(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
Returns
Type | Description |
---|---|
NativeString | const CriChar8* キュー名 |
Remarks
説明: キューインデックスからキュー名を取得します。 指定したキューインデックスのキューが存在しない場合、nullが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューインデックスに 合致するデータの存在を検索する処理が動作します。 (指定したキューインデックスを持つACBデータが見つかった時点で、 当該ACBデータ内のキューの名前が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetCuePriorityById(int)
LE Proキューに設定されているプライオリティの取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
int | CriSint32 プライオリティ(取得に失敗した場合-1が帰ります) |
Remarks
説明: キューIDを指定して、キューに設定されているプライオリティを取得します。 指定したキューIDのキューが存在しない場合は、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのプライオリティが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetCuePriorityByName(ArgString)
LE Proキューに設定されているプライオリティの取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
int | CriSint32 プライオリティ(取得に失敗した場合-1が帰ります) |
Remarks
説明: キュー名を指定して、キューに設定されているプライオリティを取得します。 指定したキュー名のキューが存在しない場合は、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのプライオリティが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetLengthById(int)
LE Proキューの長さの取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
long | CriSint64 キューの長さ(ミリ秒単位) |
Remarks
説明: キューIDを指定して、キューの長さを取得します。キューの長さはミリ秒単位です。 指定したキューIDのキューが存在しない場合や、無限ループするキューの場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューの長さが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetLengthByName(ArgString)
LE Proキューの長さの取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
long | CriSint64 キューの長さ(ミリ秒単位) |
Remarks
説明: キュー名を指定して、キューの長さを取得します。キューの長さはミリ秒単位です。 指定したキュー名のキューが存在しない場合や、無限ループするキューの場合、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの長さが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetNumAwbFileSlots()
LE Proストリーム用AWBスロット数の取得
Declaration
Returns
Type | Description |
---|---|
int | CriSint32 ストリームAWBスロット数 |
Remarks
説明: ACBオブジェクトが必要とするストリームAWBの数を取得します。
GetNumCuePlayingCountById(int)
LE Proキューリミットが設定されているキューの発音数の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID名 |
Returns
Type | Description |
---|---|
int | CriSint32 発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります) |
Remarks
説明: キューIDを指定して、キューリミットが設定されているキューの発音数を取得します。 指定したキューIDのキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの発音数が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetNumCuePlayingCountByIndex(int)
LE Proキューリミットが設定されているキューの発音数の取得(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
Returns
Type | Description |
---|---|
int | CriSint32 発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります) |
Remarks
説明: キュー名を指定して、キューリミットが設定されているキューの発音数を取得します。 指定したキューインデックスのキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの発音数が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetNumCuePlayingCountByName(ArgString)
LE Proキューリミットが設定されているキューの発音数の取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
int | CriSint32 発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります) |
Remarks
説明: キュー名を指定して、キューリミットが設定されているキューの発音数を取得します。 指定したキュー名のキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの発音数が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetNumCues()
LE Proキュー数の取得
Declaration
Returns
Type | Description |
---|---|
int | CriSint32 キュー数 |
Remarks
説明: ACBデータに含まれるキュー数を取得します。
備考: 引数( acb_hn )に null を指定した場合、最後にロードしたACBデータを処理対象とします。
GetNumUsableAisacControlsById(int)
LE Proキューでコントロール可能なAISAC Controlの個数の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
int | CriSint32 AISAC Controlの個数 |
Remarks
説明: キューIDを指定して、キューでコントロール可能なAISAC Controlの個数を取得します。 指定したキューIDのキューが存在しない場合は、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのコントロール可能なAISAC Controlの個数が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetNumUsableAisacControlsByName(ArgString)
LE Proキューでコントロール可能なAISAC Controlの個数の取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
int | CriSint32 AISAC Controlの個数 |
Remarks
説明: キュー名を指定して、キューでコントロール可能なAISAC Controlの個数を取得します。 指定したキュー名のキューが存在しない場合は、-1が返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのコントロール可能なAISAC Controlの個数が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetOnMemoryAwbHandle()
LE Proオンメモリ再生用 AWB ハンドルの取得
Declaration
Returns
Type | Description |
---|---|
CriAtomAwb | CriAtomAwb AWB オブジェクト |
Remarks
説明: ACB データからオンメモリ再生用の AWB オブジェクトを取得します。
備考: ACB データ内には、オンメモリ再生用の波形データが AWB フォーマットで格納されています。 ACB オブジェクトを作成する際、 Atom ライブラリはオンメモリ再生用に AWB データを読み込み、再生用のオブジェクト( AWB オブジェクト)を作成します。 本関数を使用することで、 Atom ライブラリが内部的に作成した AWB オブジェクトを 取得することが可能です。 取得した AWB オブジェクトを使用することで、 ACB オブジェクト内のオンメモリ波形データを、 アプリケーション側から SetWaveId(CriAtomAwb, int) 関数を使用して再生することが可能になります。 (キューに含まれる波形データをシームレス連結再生する際や、 デバッグ用途で ACB データ内に含まれるオンメモリ波形データを再生する、 といった用途に利用可能です。)
注意: ACB オブジェクトが保持する AWB オブジェクトは、 ACB オブジェクトリリース時に破棄されます。 本関数で取得した AWB オブジェクトを個別に破棄したり、 取得済みの AWB オブジェクトに ACB オブジェクトリリース後にアクセスしたりすると、 アクセス違反等の重大な不具合が発生する可能性があります。
See Also
GetStreamingAwbHandle()
LE Proストリーム再生用 AWB ハンドルの取得
Declaration
Returns
Type | Description |
---|---|
CriAtomAwb | CriAtomAwb AWB オブジェクト |
Remarks
説明: ACB データからストリーム再生用の AWB オブジェクトを取得します。 なお、本関数ではスロットの先頭の AWB オブジェクトのみを取得可能です。 先頭以外のスロットにある AWB オブジェクトを取得する際は以下の関数を使用してください。
備考: ACB データ内には、ストリーム再生用の AWB ファイルが関連付けられています。 ACB オブジェクトを作成する際、 Atom ライブラリはストリーム再生用に AWB データを読み込み、再生用のオブジェクト( AWB オブジェクト)を作成します。 本関数を使用することで、 Atom ライブラリが内部的に作成した AWB オブジェクトを 取得することが可能です。 取得した AWB オブジェクトを使用することで、 ストリーム再生用の波形データを、 アプリケーション側から SetWaveId(CriAtomAwb, int) 関数を使用して再生することが可能になります。 (キューに含まれる波形データをシームレス連結再生する際や、 デバッグ用途で ACB データに関連付けられたストリーム再生用波形データを再生する、 といった用途に利用可能です。)
注意: ACB オブジェクトが保持する AWB オブジェクトは、 ACB オブジェクトリリース時に破棄されます。 本関数で取得した AWB オブジェクトを個別に破棄したり、 取得済みの AWB オブジェクトに ACB オブジェクトリリース後にアクセスしたりすると、 アクセス違反等の重大な不具合が発生する可能性があります。
See Also
GetStreamingAwbHandleBySlotIndex(ushort)
LE Pro指定した AWB スロットインデックスのストリーム再生用 AWB ハンドルの取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
ushort | awbSlotIndex | AWB スロットインデックス |
Returns
Type | Description |
---|---|
CriAtomAwb | CriAtomAwb AWB オブジェクト |
Remarks
説明: ACB データから指定した AWB スロットインデックスのストリーム再生用の AWB オブジェクトを取得します。
備考: ACB データ内には、ストリーム再生用の AWB ファイルが関連付けられています。 ACB オブジェクトを作成する際、 Atom ライブラリはストリーム再生用に AWB データを読み込み、再生用のオブジェクト( AWB オブジェクト)を作成します。 本関数を使用することで、 Atom ライブラリが内部的に作成した AWB オブジェクトを 取得することが可能です。 取得した AWB オブジェクトを使用することで、 ストリーム再生用の波形データを、 アプリケーション側から SetWaveId(CriAtomAwb, int) 関数を使用して再生することが可能になります。 (キューに含まれる波形データをシームレス連結再生する際や、 デバッグ用途で ACB データに関連付けられたストリーム再生用波形データを再生する、 といった用途に利用可能です。)
注意: ACB オブジェクトが保持する AWB オブジェクトは、 ACB オブジェクトリリース時に破棄されます。 本関数で取得した AWB オブジェクトを個別に破棄したり、 取得済みの AWB オブジェクトに ACB オブジェクトリリース後にアクセスしたりすると、 アクセス違反等の重大な不具合が発生する可能性があります。
See Also
GetStreamingAwbHandleBySlotName(ArgString)
LE Pro指定した AWB スロット名のストリーム再生用 AWB ハンドルの取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | awbSlotName | AWB スロット名 |
Returns
Type | Description |
---|---|
CriAtomAwb | CriAtomAwb AWB オブジェクト |
Remarks
説明: ACB データから指定した AWB スロット名のストリーム再生用の AWB オブジェクトを取得します。
備考: ACB データ内には、ストリーム再生用の AWB ファイルが関連付けられています。 ACB オブジェクトを作成する際、 Atom ライブラリはストリーム再生用に AWB データを読み込み、再生用のオブジェクト( AWB オブジェクト)を作成します。 本関数を使用することで、 Atom ライブラリが内部的に作成した AWB オブジェクトを 取得することが可能です。 取得した AWB オブジェクトを使用することで、 ストリーム再生用の波形データを、 アプリケーション側から SetWaveId(CriAtomAwb, int) 関数を使用して再生することが可能になります。 (キューに含まれる波形データをシームレス連結再生する際や、 デバッグ用途で ACB データに関連付けられたストリーム再生用波形データを再生する、 といった用途に利用可能です。)
注意: ACB オブジェクトが保持する AWB オブジェクトは、 ACB オブジェクトリリース時に破棄されます。 本関数で取得した AWB オブジェクトを個別に破棄したり、 取得済みの AWB オブジェクトに ACB オブジェクトリリース後にアクセスしたりすると、 アクセス違反等の重大な不具合が発生する可能性があります。
See Also
GetSupportedVersion(out uint, out uint)
LE Proロード可能バージョン情報取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
uint | versionLow | ロード可能下位バージョン |
uint | versionHigh | ロード可能上位バージョン |
Remarks
説明: ロード可能なACBのバージョン情報を取得します。 上位バージョンはライブラリビルド時点での情報のため、この値より上位のACBでも ロード可能な場合もあります。
GetUsableAisacControlById(int, ushort, out AisacControlInfo)
LE Proキューでコントロール可能なAISAC Controlの取得(キューID指定)
Declaration
public bool GetUsableAisacControlById(int id, ushort index, out CriAtomEx.AisacControlInfo info)
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
ushort | index | AISAC Controlインデックス |
CriAtomEx.AisacControlInfo | info | AISAC Control情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キューIDとAISAC Controlインデックスを指定して、AISAC Control情報を取得します。 指定したキューIDのキューが存在しない場合は、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのAISAC Control情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetUsableAisacControlByName(ArgString, ushort, out AisacControlInfo)
LE Proキューでコントロール可能なAISAC Controlの取得(キュー名指定)
Declaration
public bool GetUsableAisacControlByName(ArgString name, ushort index, out CriAtomEx.AisacControlInfo info)
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
ushort | index | AISAC Controlインデックス |
CriAtomEx.AisacControlInfo | info | AISAC Control情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キュー名とAISAC Controlインデックスを指定して、AISAC Control情報を取得します。 指定したキュー名のキューが存在しない場合は、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのAISAC Control情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
GetUserDataById(int)
LE Proユーザデータ文字列の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Returns
Type | Description |
---|---|
NativeString | const CriChar8 * ユーザデータ文字列 |
Remarks
説明: キューIDを指定して、キューのユーザデータ文字列を取得します。 指定したキューIDのキューが存在しない場合、nullが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのユーザデータが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetUserDataByName(ArgString)
LE Proユーザデータ文字列の取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Returns
Type | Description |
---|---|
NativeString | const CriChar8 * ユーザデータ文字列 |
Remarks
説明: キュー名を指定して、キューのユーザデータ文字列を取得します。 指定したキュー名のキューが存在しない場合、nullが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのユーザデータが返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetVersion(IntPtr, int, IntPtr)
LE ProオンメモリACBのバージョン取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
IntPtr | acbData | ACBデータアドレス |
int | acbDataSize | ACBデータサイズ |
IntPtr | flag | ロード可能フラグ |
Returns
Type | Description |
---|---|
uint | CriUint2 ACBフォーマットバージョン |
Remarks
説明: メモリ上に配置されたACBデータのフォーマットバージョンを取得します。 また、flag引数にロード可能なバージョンかどうかをBool値で返します。
GetVersionFromFile(CriFsBinder, ArgString, out NativeBool)
LE ProACBファイルのバージョン取得
Declaration
public static uint GetVersionFromFile(CriFsBinder acbBinder, ArgString acbPath, out NativeBool flag)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | acbBinder | ACBファイルを含むバインダーのハンドル |
ArgString | acbPath | ACBファイルのパス |
NativeBool | flag | ロード可能フラグ |
Returns
Type | Description |
---|---|
uint | CriUint2 ACBフォーマットバージョン |
Remarks
説明: ACBファイルをメモリにロードしACBデータのフォーマットバージョンを取得します。 ACB情報の登録に必要なワーク領域のサイズは、 CalculateWorkSizeForLoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数で計算します。 ACBファイルフォーマットバージョンを元にflag引数にロード可能なバージョンかどうかをBool値で返します。
備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。)
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: 本関数にセットしたワーク領域は、 アプリケーションで保持する必要はありません。 (メモリにロードしたデータは関数終了時に解放されます。)
GetWaveformInfoById(int, out WaveformInfo)
LE Pro音声波形情報の取得(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
CriAtomEx.WaveformInfo | waveformInfo | 音声波形情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キューIDを指定して、そのキューで再生される音声波形の情報を取得します。 そのキューで再生される音声波形が複数ある場合、初めのトラックで最初に再生される音声波形の情報が取得されます。 指定したキューIDのキューが存在しない場合、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューの音声波形情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
GetWaveformInfoByName(ArgString, out WaveformInfo)
LE Pro音声波形情報の取得(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
CriAtomEx.WaveformInfo | waveformInfo | 音声波形情報 |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キュー名を指定して、そのキューで再生される音声波形の情報を取得します。 そのキューで再生される音声波形が複数ある場合、初めのトラックで最初に再生される音声波形の情報が取得されます。 指定したキュー名のキューが存在しない場合、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューの音声波形情報が返されます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
IsAttachedAwbFile(ArgString)
LE Proストリーム用AWBファイルのアタッチ状態取得
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | awbName | AWB名 |
Returns
Type | Description |
---|---|
bool |
Remarks
説明: ACBオブジェクトにAWBファイルがアタッチされているかを取得します。 第2引数の awb_name はAWBをアタッチするスロット名です。状態を取得したいスロットのAWB名を指定してください。
IsReadyToRelease()
LE ProACBハンドルが即時解放可能かどうかのチェック
Declaration
Returns
Type | Description |
---|---|
bool | CriBool ACBの状態(true = 即時解放可能、false = 再生中のプレーヤーあり) |
Remarks
説明: ACBオブジェクトを即座に解放可能かどうかをチェックします。 本関数が false を返すタイミングで Dispose() 関数を実行すると、 ACBオブジェクトを参照しているプレーヤーに対する停止処理が行われます。 (ストリーム再生用のACBオブジェクトの場合、ファイル読み込み完了を待つため、 Dispose() 関数内で長時間処理がブロックされる可能性があります。)
備考: ACBオブジェクトを再生していたプレーヤーを全て停止させた場合でも、 ライブラリ内では当該ACBオブジェクトを参照しているボイスが存在する可能性があります。 ( StopWithoutReleaseTime() 関数で停止処理を行った場合や、 ボイスの奪い取りが発生した場合、プレーヤーからボイスは切り離されますが、 その後もボイス側でファイルの読み込み完了待ちを行うケースがあります。) Dispose() 関数内で処理がブロックされるのを避ける必要がある場合には、 本関数が true を返すまで、Dispose() 関数を実行しないでください。
注意: 本関数を実行すると、指定したACBデータを参照しているAtomプレーヤーの存在を 検索する処理が動作します。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 Atomプレーヤーの作成/破棄を Lock() 関数でロックしてから実行ください。
See Also
IsUsingAisacControlById(int, uint)
LE ProキューがAISAC Controlでコントロール可能かどうかの取得(ID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
uint | aisacControlId | AISAC Control id |
Returns
Type | Description |
---|---|
bool | CriBool コントロール可能かどうか(可能:true、不可能:false) |
Remarks
説明: キューIDとAISAC Control Idを指定して、キューがAISAC Controlでコントロール可能かどうかを取得します。 指定したキューIDのキューが存在しない場合は、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータ内のキューのAISAC Control情報を元に値を返します) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
IsUsingAisacControlByName(ArgString, ArgString)
LE ProキューがAISAC Controlでコントロール可能かどうかの取得(名前指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
ArgString | aisacControlName | AISAC Controlインデックス |
Returns
Type | Description |
---|---|
bool | CriBool 取得に成功したかどうか(成功:true、失敗:false) |
Remarks
説明: キュー名とAISAC Controlインデックスを指定して、AISAC Control情報を取得します。 指定したキュー名のキューが存在しない場合は、falseが返ります。
備考: 第1引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータ内のキューのAISAC Control情報を元に値を返します) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。)
See Also
LoadAcbData(IntPtr, int, CriFsBinder, ArgString)
LE ProオンメモリACBデータのロード
Declaration
public static CriAtomExAcb LoadAcbData(IntPtr acbData, int acbDataSize, CriFsBinder awbBinder, ArgString awbPath)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | acbData | ACBデータアドレス |
int | acbDataSize | ACBデータサイズ |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
Returns
Type | Description |
---|---|
CriAtomExAcb | CriAtomExAcb ACBオブジェクト |
Remarks
説明: ACBデータをロードし、キュー再生に必要な情報を取り込みます。 ACBデータのロードに必要なワーク領域のサイズは、 CalculateWorkSizeForLoadAcbData(IntPtr, int, CriFsBinder, ArgString) 関数で計算します。 第3引数の awb_binder 、および第4引数の awb_path には、ストリーム再生用 のAWBファイルを指定します。 (オンメモリ再生のみのACBデータをロードする場合、 awb_binder および awb_path にセットした値は無視されます。) ACBデータをロードすると、ACBデータにアクセスするためのACBオブジェクト ( CriAtomExAcb )が返されます。 AtomExプレーヤーに対し、 SetCueId(CriAtomExAcb, int) 関数でACBオブジェクト、および再生する キューのIDをセットすることで、ACBデータ内のキューを再生することが可能です。 ACBファイルのロードに成功すると、本関数は戻り値として ACB オブジェクトを返します。 リードエラー等によりACBファイルのロードに失敗した場合、本関数は戻り値として CRI_NULL を返します。
備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。) 本関数は即時復帰関数です。 ACBファイルを事前にメモリにロードしてから本関数を実行することで、 ACBオブジェクト作成時に処理がブロックされるのを回避可能です。 データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: 本関数にてセットしたデータ領域やワーク領域のメモリ内容はACBオブジェクト破棄時 までアプリケーション中で保持し続ける必要があります。 (セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。) また、データ領域の一部はワークとして使用されます。 ACBデータにはワーク領域も含まれています。 そのため、1つのACBデータ領域を複数回同時にロードすることはできません。 (作成されたACBオブジェクトを複数のAtomExプレーヤーで共有することは可能です。) 本関数を実行する前に、ライブラリを初期化しておく必要があります。
See Also
LoadAcbDataById(IntPtr, int, CriFsBinder, ushort)
LE ProオンメモリACBデータのロード(CPKコンテンツID指定)
Declaration
public static CriAtomExAcb LoadAcbDataById(IntPtr acbData, int acbDataSize, CriFsBinder awbBinder, ushort awbId)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | acbData | ACBデータアドレス |
int | acbDataSize | ACBデータサイズ |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ushort | awbId | CPKファイル内のAWBデータのID |
Returns
Type | Description |
---|---|
CriAtomExAcb | CriAtomExAcb ACBオブジェクト |
Remarks
説明: ACBデータをロードし、キュー再生に必要な情報を取り込みます。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 LoadAcbData(ReadOnlySpan<byte>, CriFsBinder, ArgString) 関数と機能は同じです。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString)
LE ProACBファイルのロード
Declaration
public static CriAtomExAcb LoadAcbFile(CriFsBinder acbBinder, ArgString acbPath, CriFsBinder awbBinder, ArgString awbPath)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | acbBinder | ACBファイルを含むバインダーのハンドル |
ArgString | acbPath | ACBファイルのパス |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ArgString | awbPath | AWBファイルのパス |
Returns
Type | Description |
---|---|
CriAtomExAcb | CriAtomExAcb ACBオブジェクト |
Remarks
説明: ACBファイルをロードし、キュー再生に必要な情報を取り込みます。 ACBファイルのロードに必要なワーク領域のサイズは、 CalculateWorkSizeForLoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数で計算します。 第3引数の awb_binder 、および第4引数の awb_path には、ストリーム再生用 のAWBファイルを指定します。 (オンメモリ再生のみのACBデータをロードする場合、 awb_binder および awb_path にセットした値は無視されます。) ACBファイルをロードすると、ACBデータにアクセスするためのACBオブジェクト ( CriAtomExAcb )が返されます。 AtomExプレーヤーに対し、 SetCueId(CriAtomExAcb, int) 関数でACBオブジェクト、および再生する キューのIDをセットすることで、ACBファイル内のキューを再生することが可能です。 ACBファイルのロードに成功すると、本関数は戻り値として ACB オブジェクトを返します。 リードエラー等によりACBファイルのロードに失敗した場合、本関数は戻り値として CRI_NULL を返します。
備考: SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。 ( work に null 、 work_size に 0 を指定することで、登録済みのアロケーター から必要なワーク領域サイズ分のメモリが動的に確保されます。)
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数にワーク領域をセットした場合、セットした領域のメモリをACBオブジェクト破棄時 までアプリケーション中で保持し続ける必要があります。 (セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。) 本関数は完了復帰型の関数です。 ACBファイルのロードにかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
LoadAcbFileById(CriFsBinder, ushort, CriFsBinder, ushort)
LE ProACBファイルのロード(CPKコンテンツID指定)
Declaration
public static CriAtomExAcb LoadAcbFileById(CriFsBinder acbBinder, ushort acbId, CriFsBinder awbBinder, ushort awbId)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | acbBinder | ACBファイルを含むバインダーのハンドル |
ushort | acbId | CPKファイル内のACBデータのID |
CriFsBinder | awbBinder | AWBファイルを含むバインダーのハンドル |
ushort | awbId | CPKファイル内のAWBデータのID |
Returns
Type | Description |
---|---|
CriAtomExAcb | CriAtomExAcb ACBオブジェクト |
Remarks
説明: ACBファイルをロードし、キュー再生に必要な情報を取り込みます。 ファイルパスの代わりにCPKコンテンツIDを指定する点を除けば、 LoadAcbFile(CriFsBinder, ArgString, CriFsBinder, ArgString) 関数と機能は同じです。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
See Also
ReleaseAll()
LE Pro全てのACBハンドルをリリース
Declaration
Remarks
説明: ロード済みの全てのACBオブジェクトを解放します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 ACBオブジェクト作成時に確保されたメモリ領域が解放されます。 (ACBオブジェクト作成時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
備考: 本関数を実行すると、全てのキュー再生がその時点で停止します。 (本関数実行後に、ACBオブジェクトの作成に使用したワーク領域や、 ACBデータが配置されていた領域が参照されることはありません。)
注意: 本関数を実行すると、指定したACBデータを参照しているAtomプレーヤーの存在を 検索する処理が動作します。 そのため、本関数実行中に他スレッドでAtomプレーヤーの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。 本関数実行時にAtomプレーヤーの作成/破棄を他スレッドで行う必要がある場合、 Atomプレーヤーの作成/破棄を Lock() 関数でロックしてから実行ください。
See Also
ResetCueTypeStateById(int)
LE Proキュータイプステートのリセット(キューID指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | id | キューID |
Remarks
説明: キューIDを指定して、キュータイプステートをリセットします。
注意: リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考: キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。 本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
See Also
ResetCueTypeStateByIndex(int)
LE Proキュータイプステートのリセット(キューインデックス指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
int | index | キューインデックス |
Remarks
説明: キューインデックスを指定して、キュータイプステートをリセットします。
注意: リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考: キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。 本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
See Also
ResetCueTypeStateByName(ArgString)
LE Proキュータイプステートのリセット(キュー名指定)
Declaration
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | キュー名 |
Remarks
説明: キュー名を指定して、キュータイプステートをリセットします。
注意: リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考: キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。 本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
See Also
SetDetectionInGamePreviewDataCallback(delegate* unmanaged[Cdecl]<IntPtr, NativeString, void>, IntPtr)
LE Proインゲームプレビュー用データのロード検知コールバック関数の登録
Declaration
public static void SetDetectionInGamePreviewDataCallback(delegate* unmanaged[Cdecl]<IntPtr, NativeString, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, NativeString, void> | func | ロード検知コールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: インゲームプレビュー用データのロードを検知した場合に呼び出すコールバック関数を登録します。 登録されたコールバック関数は、ACBロード関数内でACBの内容解析を行ったタイミングで実行されます。
注意: 基本的に、コールバック関数内ではAtomライブラリAPIを使用しないでください。 本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。