libjulius/src/callback.c

コールバック関数の登録と実行 [詳細]

#include <julius/julius.h>

ソースコードを見る。

関数

void callback_init (Recog *recog)
 コールバック管理エリアの初期化
static int callback_add_core (Recog *recog, int code, void(*func)(), void *data)
 関数をコールバックレジストリに登録するコア関数
int callback_add (Recog *recog, int code, void(*func)(Recog *recog, void *data), void *data)
 関数をコールバックレジストリに登録する.
int callback_add_adin (Recog *recog, int code, void(*func)(Recog *recog, SP16 *buf, int len, void *data), void *data)
 関数をA/D-inタイプのコールバックレジストリに登録する.
void callback_exec (int code, Recog *recog)
 コールバックレジストリに登録されている関数を全て実行する.
void callback_exec_adin (int code, Recog *recog, SP16 *buf, int len)
 A/D-in タイプのコールバックに登録された関数を全て実行する.
boolean callback_exist (Recog *recog, int code)
 コールバックレジストリに1つでも関数が登録されたかどうかを返す.
boolean callback_delete (Recog *recog, int id)
 コールバックから関数を削除する.


説明

コールバック関数の登録と実行

このファイルにはコールバックを扱う関数が含まれています. ユーザは callback_add() (A/D-in 関連のコールバックでは allback_add_adin()) を使って,ユーザが作成した関数を,指定のコールバックレポジトリに登録します. 認識時はJulius は登録された関数を認識処理の各場面で呼び出します.

あるコールバックについて複数の関数を登録することができます. この場 合,コールバック呼出しは,同じコールバックに登録された複数の関数が 全て呼ばれます.

作者:
Akinobu Lee
日付:
Fri Oct 26 00:03:18 2007
$Revision:$

callback.c で定義されています。


関数

void callback_init ( Recog recog  ) 

コールバック管理エリアの初期化

引数:
recog [i/o] engine instance

callback.c53 行で定義されています。

参照元 j_recog_new().

呼出しグラフ:

static int callback_add_core ( Recog recog,
int  code,
void(*)()  func,
void *  data 
) [static]

関数をコールバックレジストリに登録するコア関数

引数:
recog [i/o] engine instance
code [in] code in which the function will be registered
func [in] function
data [in] user-specified argument to be passed when the function is called inside Julius
戻り値:
global callback ID unique for the whole process, or -1 on error.

callback.c77 行で定義されています。

参照元 callback_add(), と callback_add_adin().

void callback_exec ( int  code,
Recog recog 
)

コールバックレジストリに登録されている関数を全て実行する.

引数:
code [in] callback code
recog [in] engine instance.

callback.c183 行で定義されています。

参照元 adin_cut(), callback_check_in_adin(), decode_proceed(), get_back_trellis(), gmm_end(), RealTimeParam(), RealTimePipeLine(), と RealTimeResume().

呼出しグラフ:

void callback_exec_adin ( int  code,
Recog recog,
SP16 buf,
int  len 
)

A/D-in タイプのコールバックに登録された関数を全て実行する.

引数:
code [in] callbcak code
recog [in] engine instance
buf [in] buffer that holds the current input speech which will be passed to the functions
len [in] length of buf

callback.c214 行で定義されています。

参照元 adin_cut().

呼出しグラフ:


Juliusに対してTue Dec 18 16:04:49 2007に生成されました。  doxygen 1.5.4