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タイプのコールバックレジストリに登録する.
static void c_out (const char *s, int flag)
static void callback_debug_stdout (int code, Recog *recog)
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
1.3

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.c233 行で定義されています。

参照元 adin_go()callback_check_in_adin()decode_proceed()get_back_trellis()gmm_end()j_open_stream()j_recognize_stream()j_recognize_stream_core()proceed_one_frame()RealTimeParam()RealTimeResume()result_error().

呼出しグラフ:

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.c265 行で定義されています。

参照元 adin_cut().

呼出しグラフ:


Juliusに対してThu Jul 23 12:16:51 2009に生成されました。  doxygen 1.5.1