4.6 関数詳細
Title 関数仕様  | Data 初期化  | Data Name CPK_Init  | No 1.1  | 
書式  Bool CPK_Init(void)
入力  なし
出力  なし
関数値 正常に初期化できた場合TRUE
    正常に初期化できない場合FALSE
機能  プログラム起動直後、本ライブラリを使用するための初期化を行います。
備考  本ライブラリを使うときは、必ずプログラムの先頭で本関数を呼んでください。
Title 関数仕様  | Data 終了処理  | Data Name CPK_Finish  | No 1.2  | 
書式  void CPK_Finish(void)
入力  なし
出力  なし
関数値 なし
機能  ムービの再生をそれ以降行わない場合には、本関数を呼び出してください。
Title 関数仕様  | Data ハンドルの作成(メモリ)  | Data Name CPK_CreateMemMovie  | No 2.1  | 
書式  CpkHn CPK_CreateMemMovie(CpkCreatePara *para)
入力  para:作成パラメータ
出力  なし
関数値 ムービハンドル(作成できない場合はNULL)
機能  メモリにあるムービファイルを再生するためのムービハンドルを作成します。
備考
- 同時に作成できるムービは、32個です。
 - ムービファイルはアプリケーションプログラムでメモリにロードしてください。
 - CPK_CreateMemMovie で生成したムービハンドルは、必ずCPK_NotifyWriteSizeで
ムービファイルのサイズを通知してください。
 
Title 関数仕様  | Data ハンドルの消去(メモリ)  | Data Name CPK_DestroyMemMovi  | No 2.2  | 
書式  void CPK_DestroyMemMovie(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  ムービハンドルを消去します。
    ハンドルを消去すると、そのムービハンドルはそれ以降使用できません。
Title 関数仕様  | Data ハンドルの作成(ファイルシステム)  | Data Name CPK_CreateGfsMovie  | No 2.3  | 
書式  CpkHn CPK_CreateGfsMovie(CpkCreatePara *para, GfsHn gfs)
入力  para:作成パラメータ
    gfs:ファイルハンドル
出力  なし
関数値 ムービハンドル(作成できない場合はNULL)
機能  ファイルシステムでムービファイルを再生するためのムービハンドルを作成します。
備考
- 同時に作成できるムービは、32個です。
 - ファイルハンドルは、あらかじめアプリケーションプログラムで取得してください。
 
Title 関数仕様  | Data ハンドルの消去(ファイルシステム)  | Data Name CPK_DestroyGfsMovi  | No 2.4  | 
書式  void CPK_DestroyGfsMovie(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能
- ムービハンドルを消去します。
 - ハンドルを消去すると、そのムービハンドルはそれ以降使用できません。
 - ファイルハンドルをクローズする前に、ムービハンドルを消去してください。
 
Title 関数仕様  | Data ハンドルの作成(ストリームシステム)  | Data Name CPK_CreateStmMovie  | No 2.5  | 
書式  CpkHn CPK_CreateStmMovie(CpkCreatePara *para, StmHn stm)
入力  para:作成パラメータ
    stm:ファイルハンドル
出力  なし
関数値 ムービハンドル(作成できない場合はNULL)
機能  ストリームシステムでムービファイルを再生するためのムービハンドルを作成します。
備考
- 同時に作成できるムービは、32個です。
 - ストリームハンドルは、あらかじめアプリケーションプログラムで取得してください。
 
Title 関数仕様  | Data ハンドルの消去(ストリームシステム)  | Data Name CPK_DestroyStmMovi  | No 2.6  | 
書式  void CPK_DestroyStmMovie(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能
- ムービハンドルを消去します。
 - ハンドルを消去すると、そのムービハンドルはそれ以降使用できません。
 - ストリームハンドルをクローズする前に、ムービハンドルを消去してください。
 
Title 関数仕様  | Data 再生タスク  | Data Name CPK_Task  | No 2.7  | 
書式  void CPK_Task(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  CDからのファイル読み込み及び画像の展開処理を行います。
備考  ムービ再生中は定期的に本関数を呼んでください。
    呼ぶ間隔は、再生コマ数よりも多くしてください。コマ数以下だとなめらかに
    再生できません。
    本関数を読んだ後は、必ずCPK_IsDispTimeで表示タイミングになっているか調
    べてください。CPK_IsDispTimeが TRUE を返した場合は、画像を表示するタイ
    ミングなのでスプライトVRAMに展開していた場合はフレームチェンジをしてく
    ださい。メモリに展開していた場合は、VRAMに転送してください。
    その後、必ず CPK_CompleteDisp を呼んでください。
    展開先のアドレスをVRAMに指定した場合は、表示タイミングの前に展開します
    ので、注意してください。
Title 関数仕様  | Data 表示タイミングの判定  | Data Name CPK_IsDispTime  | No 2.8  | 
書式  Bool CPK_IsDispTime(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 ムービのフレーム画像の展開が終了し、表示するとき刻のときはTRUE
    まだ表示するタイミングでないときはFALSE
機能  本関数がTRUEに返した場合は、1フレームの画像を表示するタイミングになった
    ので、スプライトVRAMに展開していた場合はフレームチェンジをします。メモリ
    に展開していた場合は、展開内容をVRAMに転送します。
    その後に、必ず CPK_CompleteDisp を呼んでください。
Title 関数仕様  | Data 表示完了の通知  | Data Name CPK_CompleteDisp  | No 2.9  | 
書式  void CPK_CompleteDisp(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  画像表示が終了したことをライブラリに通知します。
備考  CPK_IsDispFrame が TRUE になったら本関数を呼んでください。
    呼ばないと、ムービは再生されません。
Title 関数仕様  | Data VブランクIN処理関数  | Data Name CPK_VblIn  | No 2.10  | 
書式  void CPK_VblIn(void)
入力  なし
出力  なし
関数値 なし
機能  ムービの再生時刻の管理を行います。
備考  本ライブラリを使う場合は、必ず本関数をVブランクIN割り込みで呼んでください。
Title 関数仕様  | Data 再生開始  | Data Name CPK_Start  | No 3.1  | 
書式  void CPK_Start(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  ムービの再生を開始します。
備考
- ムービの再生は、生成されたムービハンドルに対して1回だけできます。
同じムービを何度も繰り返し再生したい場合は、その都度ムービハンドルを生成
してください。
 
Title 関数仕様  | Data 再生停止  | Data Name CPK_Stop  | No 3.2  | 
書式  void CPK_Stop(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  ムービの再生を停止します。
Title 関数仕様  | Data 一時停止(ポーズ)  | Data Name CPK_Pause  | No 3.3  | 
書式  void CPK_Pause(CpkHn cpk, CpkPauseCmd cmd)
入力  cpk:ムービハンドル
    cmd:一時停止の制御コマンド
出力  なし
関数値 なし
機能  ムービの再生を一時停止、解除します。
Title 関数仕様  | Data 次に再生するムービの登録  | Data Name CPK_EntryNext  | No 3.4  | 
書式  void CPK_EntryNext(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  次に再生するムービハンドルを登録します。この関数でムービを登録しておくと、
    現在再生しているムービが終了した時点で自動的に次のムービに切り替わります。
    NULLを指定すると登録の解除となります。
    CPK_Changeで強制切り替えをするときも、この関数で登録されたムービが次に再生
    されます。
Title 関数仕様  | Data ムービの強制切り替え  | Data Name CPK_Change  | No 3.5  | 
書式  void CPK_Change(void)
入力  なし
出力  なし
関数値 なし
機能  現在再生しているムービを中断して、CPK_EntryNextで登録されているムービの再生
    を開始します。
Title 関数仕様  | Data ムービの切り替え状態の取得  | Data Name CPK_CheckChange  | No 3.6  | 
書式  CpkChangeStatus CPK_CheckChange(void)
入力  なし
出力  なし
関数値 強制切り替え可能性チェック値
機能  CPK_Changeで強制切り替えをするときの切り替えの可能性を返します。
Title 関数仕様  | Data 指定フレームの展開  | Data Name CPK_DecodeFrame  | No 3.7  | 
書式  void CPK_DecodeFrame(CpkHn cpk, Sint32 frame_no)
入力  cpk     :ムービハンドル
    frame_no:展開するフレームの番号
出力  なし
関数値 なし
機能  指定フレームの画像を展開します。
備考  本関数は、メモリに読み込まれたムービに対してのみ使用可能です。
    アプリケーションプログラム内で、ムービファイルを読み込み、
    CPK_CreateMemMovieでムービハンドルを作成してから、本関数をコールして
    ください。
    CPK_CreateGfsMovie、CPK_CreateStmMovieで作成したムービハンドルでは、
    本関数を使用できません。
    音なしのキーフレームのみのムービファイルを使ってください。
Title 関数仕様  | Data 展開先アドレスの設定  | Data Name CPK_SetDecodeAddr  | No 4.1  | 
書式  void CPK_SetDecodeAddr(CpkHn cpk, void *dec_addr, Sint32 dec_line_size)
入力  cpk          :ムービハンドル
    dec_addr     :画像展開先のアドレス
    dec_line_size:画像展開先バッファの1行のバイト数
出力  なし
関数値 なし
機能  展開した画像イメージを転送するアドレスを指定します。
    画像展開先のアドレスが NULL の場合は画像展開を行いません。
    デフォルトは NULL です。
    本関数はムービを再生する前にコールしてください。
Title 関数仕様  | Data 表示色数の設定  | Data Name CPK_SetColor  | No 4.2  | 
書式  void CPK_SetColor(CpkHn cpk, CpkColorType color)
入力  cpk  :ムービハンドル
    color:表示色数
出力  なし
関数値 なし
機能  画像の表示色数を指定します。
    デフォルトは1600万色です。
    本関数はムービを再生する前にコールしてください。
Title 関数仕様  | Data 最大転送セクタ数の設定  | Data Name CPK_SetLoadNum  | No 4.3  | 
書式  void CPK_SetLoadNum(CpkHn cpk, Sint32 load_sct)
入力  cpk     :ムービハンドル
    load_sct:最大転送セクタ数
出力  なし
関数値 なし
機能  CDバッファからライブラリの内部バッファへ転送するときの、最大転送セクタ数を
    設定します。
    デフォルトは20セクタです。
    本関数はムービを再生する前にコールしてください。
Title 関数仕様  | Data 再生PANの設定  | Data Name CPK_SetPan  | No 4.4  | 
書式  void CPK_SetPan(CpkHn cpk, Sint32 pan)
入力  cpk:ムービハンドル
    pan:PANの値(0〜31)
出力  なし
関数値 なし
機能  音のPANを指定します。
    デフォルトは0です。
   | 0  | 1  | 2  | →  | 15  | 16  | 17  | 18  | →  | 31  | 
Left Right  | Max Max  | >> Max  | >> Max  | >> Max  | Off Max  | Max Max  | Max >>  | Max >>  | Max >>  | Max Off  | 
Title 関数仕様  | Data 再生ボリュームの設定  | Data Name CPK_SetVolume  | No 4.5  | 
書式  void CPK_SetVolume(CpkHn cpk, Sint32 volume)
入力  cpk   :ムービハンドル
    volume:ボリューム(0〜7)
出力  なし
関数値 なし
機能  音量を指定します。(0で何も出力されない、7で最大音量)
    デフォルトは7です。
Title 関数仕様  | Data PCMコマンドブロック番号の設定  | Data Name CPK_SetPcmCmdBlock  | No 4.6  | 
書式  voidC PK_SetPcmCmdBlockNo(CpkHn cpk, Sint32 blk_no)
入力  cpk   :ムービハンドル
    blk_no:PCMコマンドブロック番号(0〜7)
出力  なし
関数値 なし
機能  サウンドドライバに設定するPCMコマンドブロック番号を設定します。
    デフォルトは0です。
    PCMコマンドブロック番号の詳細については、「SEGASATURN Sound Driverシ
    ステムインタフェース」を参照してください。
    本関数はムービを再生する前にコールしてください。
Title 関数仕様  | Data PCMストリーム再生番号の設定  | Data Name CPK_SetPcmStreamNo  | No 4.7  | 
書式  void CPK_SetPcmStreamNo(CpkHn cpk, Sint32 stream_no)
入力  cpk      :ムービハンドル
    stream_no:PCMストリーム再生番号(0〜7)
出力  なし
関数値 なし
機能  サウンドドライバに設定するPCMストリーム再生番号を設定します。
    デフォルトは0です。
    PCMストリーム再生番号の詳細については、「SEGASATURN Sound Driverシステムインタフ
    ェース」を参照してください。
備考  マルチムービ再生をするときは、それぞれ違うストリーム再生番号にしてください。
    本関数はムービを再生する前にコールしてください。
Title 関数仕様  | Data キーアウト範囲の設定  | Data Name CPK_SetKeyOutRange  | No 4.8  | 
書式  void CPK_SetKeyOutRange(CpkHn cpk, Sint32 range)
入力  cpk  :ムービハンドル
    range:キーアウト(透明にする色)の範囲
出力  なし
関数値 なし
機能  クロマキー処理で透明色にする範囲を設定します。
備考
- クロマキー処理では、展開した点のRGB値とクロマキー指定したRGB値を次の式
で比較し、その値がキーアウトの範囲よりも小さい場合に透明色にします。
ABS(ckey.b - decode.b) + ABS(ckey.g - decode.g) + ABS(ckey.r - decode.r)
ckey はクロマキー指定したRGB値
decode は展開した点のRGB値
 - 32000色の場合は、0〜96の範囲が指定できます。
 - 1600万色の場合は、0〜768の範囲が指定できます。
 - デフォルトは21です。
 
Title 関数仕様  | Data タイムスケールの取得  | Data Name CPK_GetTimeScale  | No 5.1  | 
書式  Sint32 CPK_GetTimeScale(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 タイムスケール
機能  タイムスケール値を取得します。
    リングバッファへフィルムヘッダ部分のデータ供給が終わるまでは、タイムスケー
    ルの値は無効です。
Title 関数仕様  | Data 再生時刻の取得  | Data Name CPK_GetTime  | No 5.2  | 
書式  Sint32 CPK_GetTime(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 カレント時刻
機能  ムービのカレント時刻を取得します。カレント時刻は、タイムスケール単位のカウ
    ント値です。
Title 関数仕様  | Data 再生ステータスの取得  | Data Name CPK_GetPlayStatus  | No 5.3  | 
書式  CpkPlayStatus CPK_GetPlayStatus(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 再生ステータス
機能  ムービの現在の再生ステータスを返します。
Title 関数仕様  | Data フィルムヘッダの取得  | Data Name CPK_GetHeader  | No 5.4  | 
書式  CpkHeader *CPK_GetHeader(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 フィルムヘッダ
機能  ムービファイルのフィルムヘッダ部分のアドレスを返えします。
    バッファへフィルムヘッダ部分のデータ供給が終わるまでは、構造体の内容は
    無効です。
Title 関数仕様  | Data 書き込みバッファの取得  | Data Name CPK_GetWriteBuf  | No 6.1  | 
書式  Uint32 *CPK_GetWriteBuf(CpkHn cpk, Sint32 *free_size, Sint32 *free_total)
入力  cpk       :ムービハンドル
出力  free_size :連続書き込み可能な領域のバイト数
    free_total:不連続領域も合わせた書き込み可能な領域の総バイト数
関数値 連続書き込み可能な領域の先頭アドレス(書き込みできない場合はNULL)
機能  書き込み先のバッファアドレスと書き込み可能なバイト数を取得します。
備考  リングバッファへのデータ供給を独自に行いたい場合に使用します。
Title 関数仕様  | Data 書き込みサイズの通知  | Data Name CPK_NotifyWriteBuf  | No 6.2  | 
書式  void CPK_NotifyWriteSize(CpkHn cpk, Sint32 write_size)
入力  cpk       :ムービハンドル
    write_size:書き込んだバイト数
出力  なし
関数値 なし
機能  バッファに実際に書き込んだバイト数をライブラリに通知します。
備考  リングバッファへのデータ供給を独自に行いたい場合に使用します。
    メモリ上にあるムービファイルを再生するときに使用します。
Title 関数仕様  | Data バッファにムービを読み込む  | Data Name CPK_PreloadMovie  | No 7.1  | 
書式  void CPK_PreloadMovie(CpkHn cpk, Uint32 size)
入力  cpk :ムービハンドル
    size:読み込むバイト数
出力  なし
関数値 なし
機能  ムービファイルをメモリに読み込みます。
備考  読み込みバイト数がライブラリが管理しているバッファよりも小さい場合は、
    バッファサイズまで読み込みます。
Title 関数仕様  | Data バッファにフィルムヘッダを読み込む  | Data Name CPK_PreloadHeader  | No 7.2  | 
書式  void CPK_PreloadHeader(CpkHn cpk)
入力  cpk:ムービハンドル
出力  なし
関数値 なし
機能  ムービファイルのフィルムヘッダ部分をメモリに読み込みます。
備考  本関数をコールする前に、ピックアップの位置をムービファイルの先頭に移動
    してください。
Title 関数仕様  | Data エラー情報の取得  | Data Name CPK_GetErr  | No 8.1  | 
書式  CpkErrCode CPK_GetErr(void)
入力  なし
出力  なし
関数値 エラーコード
機能  一番最近に発生したエラーコードを返します。
Title 関数仕様  | Data エラー関数の登録  | Data Name CPK_SetErrFunc  | No 8.2  | 
書式  void CPK_SetErrFunc(CpkErrFunc func, void *obj)
入力  func:エラー発生時に呼び出す関数
    obj :登録オブジェクト
出力  なし
関数値 なし
機能  エラー発生時に呼び出す関数を設定します。登録オブジェクトが登録関数の
    第一引き数に渡されます。