CRIミドルウェアリファレンスマニュアル : ADXPS3

定数

[メニュー]

AdxmFramework
フレームワーク種別（PS3 PPU）

解説

PS3 PPU環境用のフレームワーク種別です。

ADXM_FRAMEWORK_DEFAULTはプラットフォーム共通の定義で、そのプラットフォームで一番お勧めのフレームワークが選択されます。

定数 | 説明
--- | ---
ADXM_FRAMEWORK_DEFAULT | ADXM_FRAMEWORK_PS3PPU_MULTI_THREADと同じ
ADXM_FRAMEWORK_PS3PPU_SINGLE_THREAD | シングルスレッド
ADXM_FRAMEWORK_PS3PPU_MULTI_THREAD | マルチスレッド

[メニュー]

ADXM_PS3PPU_PRIO_~
デフォルトプライオリティ

解説

マルチスレッド時の各スレッドのデフォルトプライオリティです。

定数 | 説明
--- | ---
ADXM_PS3PPU_PRIO_VV | 仮想Vsync（100）
ADXM_PS3PPU_PRIO_VSYNC | Vsyncスレッド（500）
ADXM_PS3PPU_PRIO_FS | ファイル処理スレッド（600）
ADXM_PS3PPU_PRIO_MAIN | メインスレッド（ADXM_SetupFramework関数を呼び出したスレッド）（1001）
ADXM_PS3PPU_PRIO_IDLE | アイドルスレッド（1500）

[メニュー]

ADXM_PS3PPU_STACK_SIZE
デフォルトスタックサイズ

解説 マルチスレッド時の各スレッドのデフォルトスタックサイズです。 値 8192

データ型

[メニュー]

AdxmThreadSprm_PS3PPU
スレッドセットアップパラメータ

解説

各スレッドのセットアップパラメータです。ADXM_SetupFramework関数に引数prmとして渡します。フレームワークとしてADXM_FRAMEWORK_PS3PPU_MULTI_THREADを選んだ場合に有効です。

プライオリティは数値が低いほど優先度が高いです。

メンバは以下のとおりです。

メンバー | 型名 | 説明
--- | --- | ---
priority_vv | Sint32 | 仮想Vsyncのプライオリティ
priority_vsync | Sint32 | Vsyncスレッドのプライオリティ
priority_fs | Sint32 | ファイル処理スレッドのプライオリティ
priority_main | Sint32 | メインスレッドのプライオリティ
priority_idle | Sint32 | アイドルスレッドのプライオリティ

[メニュー]

Adxps3SoundConfig
サウンドシステムの設定

解説

ADXPS3_SetupSound関数によってADXサウンドシステムのセットアップするときに指定する、サウンドシステムの設定です。

ワーク領域サイズはADXPS3_CalcSoundWorkSize関数により計算してください。また、計算したワーク領域サイズ分のメモリを確保し、ワーク領域として設定してください。

mixer_handleにNULLを設定することで、音声を出力しない（サラウンドミキサを作成しない）環境にも対応できます。

メンバは以下のとおりです。

メンバー | 型名 | 説明
--- | --- | ---
mixer_handle | CellAANHandle | サラウンドミキサのハンドル。cellSurMixerGetAANHandle関数で取得します。
num_output_channels | Sint32 | 出力チャンネル数。最大値は8です。使用メモリ量や負荷に影響します。
num_max_voices | Sint32 | 最大ボイス数。作成可能な音声の最大数です。使用メモリ量に影響します。現在は、これとは別にADXハンドルの最大数の制限が存在します。
work | Uint8 * | ワーク領域。サウンド出力のためのワーク領域です。メモリを確保して与えてください。
work_size | Sint32 | ワーク領域サイズ。ワーク領域のサイズです。ADXPS3_CalcSoundWorkSize関数により計算してください。

[メニュー]

Adxps3SprmPs3Fs
PS3ファイルシステムのセットアップパラメータ

解説

ADXPS3_SetupPs3Fs関数によってPS3ファイルシステムのセットアップをするときに指定する、セットアップパラメータです。

メンバー | 型名 | 説明
--- | --- | ---
rtdir | const Char8 * | ルートディレクトリ。ファイルへのアクセスはこのルートディレクトリを基準に行われます。

関数

[メニュー]

ADXM_SetupFramework
CRIミドルウェアのフレームワークセットアップ

書式
Bool CRIAPI ADXM_SetupFramework(AdxmFramework framework, void *prm);
入力

framework：フレームワーク種別

prm：セットアップパラメータ

出力

なし

戻り値

TRUE：成功、FALSE：失敗

説明

CRIミドルウェアのフレームワークをセットアップします。

ADXの初期化(ADXT_Init)を行う前に呼び出す必要があります。

prmにはAdxmThreadSprm_PS3PPU構造体へのポインタを指定できます。NULLを指定するとデフォルト設定が使用されます。セットアップパラメータは、フレームワークとしてADXM_FRAMEWORK_PS3PPU_MULTI_THREADを選んだ場合に有効です。

例

    ADXM_SetupFramework(ADXM_FRAMEWORK_DEFAULT, NULL);
         :
    ADXT_Init();
         :
    for (;;) {
        ADXM_WaitVsync();
        ADXM_ExecMain();
           :
    }

[メニュー]

ADXM_ShutdownFramework
CRIミドルウェアのフレームワークの終了

書式
Bool CRIAPI ADXM_ShutdownFramework(void);
入力

なし

出力

なし

戻り値

TRUE：成功、FALSE：失敗

説明

CRIミドルウェアのフレームワークを終了します。

ADXの終了処理(ADXT_Finish)を行った後に呼び出す必要があります。

例

    ADXT_Finish();
          :
    ADXM_ShutdownFramework();

[メニュー]

ADXPS3_CalcSoundWorkSize
サウンドシステムに必要なワークサイズの計算

書式
Sint32 CRIAPI ADXPS3_CalcSoundWorkSize(const Adxps3SoundConfig *config);
入力

config：サウンドシステムの設定構造体

出力

なし

戻り値

計算されたワークサイズ

説明

ADXサウンドシステムに必要なワークサイズを計算します。

この関数を呼び出す前に、サウンドシステムの設定構造体の各メンバを設定してください（work, work_size以外）。

例

    cellSurMixerCreate(&sur_mixer_config);
    cellSurMixerGetAANHandle(&sur_mixer_handle);
            :
    Adxps3SoundConfig config;
    memset(&config, 0, sizeof(config));
    config.mixer_handle        = sur_mixer_handle;
    config.num_output_channels = NUM_OUTPUT_CHANNELS;
    config.num_voices          = NUM_MAX_VOICES;
    config.work_size           = ADXPS3_CalcSoundWorkSize(&config);
    config.work                = malloc(config.work_size);
    ADXPS3_SetupSound(&config);
    cellSurMixerStart();
            :
    ADXT_Init();

[メニュー]

ADXPS3_SetupSound
サウンドシステムのセットアップ

書式
Bool CRIAPI ADXPS3_SetupSound(const Adxps3SoundConfig *config);
入力

config：サウンドシステムの設定構造体

出力

なし

戻り値

TRUE：成功、FALSE：失敗

説明

ADXサウンドシステムをセットアップします。

ADXの初期化(ADXT_Init)を行う前に呼び出す必要があります。

この関数を呼び出すときには、サラウンドミキサが動作していない必要があります。

この関数を呼び出す前に、サウンドシステムの設定構造体の各メンバを設定してください。

例

    cellSurMixerCreate(&sur_mixer_config);
    cellSurMixerGetAANHandle(&sur_mixer_handle);
            :
    Adxps3SoundConfig config;
    memset(&config, 0, sizeof(config));
    config.mixer_handle        = sur_mixer_handle;
    config.num_output_channels = NUM_OUTPUT_CHANNELS;
    config.num_voices          = NUM_MAX_VOICES;
    config.work_size           = ADXPS3_CalcSoundWorkSize(&config);
    config.work                = malloc(config.work_size);
    ADXPS3_SetupSound(&config);
    cellSurMixerStart();
            :
    ADXT_Init();

[メニュー]

ADXPS3_ShutdownSound
サウンドシステムのシャットダウン

書式
void CRIAPI ADXPS3_ShutdownSound(void);
入力

なし

出力

なし

戻り値

なし

説明

ADXサウンドシステムをシャットダウンします。

ADXの終了処理(ADXT_Finish)を行った後に呼び出す必要があります。

この関数を呼び出すときには、サラウンドミキサが動作していない必要があります。

この関数を呼び出す前に、サウンドシステムの設定構造体の各メンバを設定してください。

例

    ADXT_Finish();
          :
    cellSurMixerPause(CELL_SURMIXER_CONT_PAUSE_ON_IMMEDIATE);
          :
    ADXPS3_ShutdownSound();
          :
    cellSurMixerFinalize();

[メニュー]

ADXPS3_SoundNotifyCallback
サラウンドミキサにオーディオデータを入力するための通知コールバック関数

書式
Sint32 CRIAPI ADXPS3_SoundNotifyCallback(void *arg, Uint32 counter, Uint32 num_samples);
入力

arg： cellSurMixerSetNotifyCallback関数呼び出し時に設定した値

counter：コールバックの呼び出しごとにインクリメントされる値

num_samples：このコールバック内で生成すべきデータのサンプル数

出力

なし

戻り値

現在未使用。将来は正常終了は0、異常終了は負の値に定義する予定です。

説明

オーディオデータ入力のための通知コールバック関数です。

cellSurMixerSetNotifyCallback関数で登録するコールバック関数から呼び出してください。

もしアプリケーション側でサラウンドミキサへのデータ入力をまったく行わない場合は、ADXPS3_SoundNotifyCallback関数を直接サラウンドミキサに登録しても問題ありません。

例

    cellSurMixerCreate(&sur_mixer_config);
    cellSurMixerSetNotifyCallback(ADXPS3_SoundNotifyCallback, NULL);

[メニュー]

ADXPS3_SetupPs3Fs
PS3ファイルシステムのセットアップ

書式
void CRIAPI ADXPS3_SetupPs3Fs(const Adxps3SprmPs3Fs *sprm);
入力

sprm：PS3ファイルシステムのセットアップパラメータ構造体

出力

なし

戻り値

なし

説明

PS3ファイルシステムをセットアップして、ルートディレクトリを設定します。

ADXT_Init関数よりも前に呼んでください。

引数にNULLを指定すると、以下のようなデフォルトが設定されます。

設定 | 内容
--- | ---
ルートディレクトリ | カレントディレクトリ(ELFファイルのあるディレクトリ)

例

    Adxps3SprmPs3Fs sprm;
    memset(&sprm, 0, sizeof(sprm));
    sprm.rtdir = "/data/adx";
    ADXPS3_SetupPs3Fs(&sprm);
          :
    ADXT_Init();

[メニュー]

ADXPS3_ShutdownPs3Fs
PS3ファイルシステムのシャットダウン

書式
void CRIAPI ADXPS3_ShutdownPs3Fs(void);
入力

なし

出力

なし

戻り値

なし

説明

PS3ファイルシステムをシャットダウンします。

ADXT_Finish関数よりも後に呼んでください。

例

    ADXT_Finish();
          :
    ADXPS3_ShutdownPs3Fs();

Copyright (c) 2001-2006 CRI Middleware Co.,LTD.