157 lines
6.1 KiB
C
157 lines
6.1 KiB
C
/*************************************************************************/
|
|
/* */
|
|
/* Language Technologies Institute */
|
|
/* Carnegie Mellon University */
|
|
/* Copyright (c) 2008 */
|
|
/* All Rights Reserved. */
|
|
/* */
|
|
/* Permission is hereby granted, free of charge, to use and distribute */
|
|
/* this software and its documentation without restriction, including */
|
|
/* without limitation the rights to use, copy, modify, merge, publish, */
|
|
/* distribute, sublicense, and/or sell copies of this work, and to */
|
|
/* permit persons to whom this work is furnished to do so, subject to */
|
|
/* the following conditions: */
|
|
/* 1. The code must retain the above copyright notice, this list of */
|
|
/* conditions and the following disclaimer. */
|
|
/* 2. Any modifications must be clearly marked as such. */
|
|
/* 3. Original authors' names are not deleted. */
|
|
/* 4. The authors' names are not used to endorse or promote products */
|
|
/* derived from this software without specific prior written */
|
|
/* permission. */
|
|
/* */
|
|
/* CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK */
|
|
/* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */
|
|
/* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */
|
|
/* SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE */
|
|
/* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */
|
|
/* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN */
|
|
/* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, */
|
|
/* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF */
|
|
/* THIS SOFTWARE. */
|
|
/* */
|
|
/*************************************************************************/
|
|
|
|
#ifndef __FLOWM_H_
|
|
#define __FLOWM_H_
|
|
|
|
/* Following the program structure in Boling's Promgramming in WinCE */
|
|
typedef LRESULT (*MsgDispatcher)(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
typedef struct MsgDispatch_struct
|
|
{
|
|
UINT Code; /* messages */
|
|
MsgDispatcher Fxn;
|
|
} MsgDispatch;
|
|
|
|
typedef LRESULT (*CMDDispatcher)(HWND h, WORD w, HWND h2, WORD w2);
|
|
typedef struct CMDDispatch_struct
|
|
{
|
|
UINT Code;
|
|
CMDDispatcher Fxn;
|
|
} CMDDispatch;
|
|
|
|
/* Some globals that serve to communcate between threads */
|
|
extern int flowm_play_status;
|
|
extern TCHAR fl_filename[257];
|
|
extern int flowm_file_pos;
|
|
extern int flowm_file_size;
|
|
extern int flowm_selected_voice;
|
|
extern int flowm_selected_relation;
|
|
|
|
extern HWND TTSWindow;
|
|
#define FL_MAX_MSG_CHARS 300
|
|
extern TCHAR fl_tts_msg[FL_MAX_MSG_CHARS];
|
|
extern TCHAR fl_fp_msg[FL_MAX_MSG_CHARS];
|
|
|
|
#define FLOWM_NUM_UTT_POS 200
|
|
extern int flowm_utt_pos_pos;
|
|
extern int flowm_prev_utt_pos[FLOWM_NUM_UTT_POS];
|
|
extern float flowm_duration;
|
|
|
|
/* The interface to the Flite TTS system */
|
|
void flowm_init();
|
|
void flowm_terminate();
|
|
int flowm_say_text(TCHAR *text);
|
|
int flowm_say_file(TCHAR *filename);
|
|
int flowm_save_wave(TCHAR *filename); /* save previous waveform */
|
|
|
|
float flowm_find_file_percentage();
|
|
TCHAR *flowm_voice_name(int i);
|
|
|
|
int InitApp (HINSTANCE h);
|
|
HWND InitInstance (HINSTANCE h, LPWSTR p , int i);
|
|
|
|
#ifdef __MINGW32__
|
|
/* These aren't needed in MINGW32 and give compiler warnings */
|
|
#undef CALLBACK
|
|
#define CALLBACK
|
|
#undef WINAPI
|
|
#define WINAPI
|
|
#endif
|
|
|
|
void WINAPI SystemIdleTimerReset( void);
|
|
|
|
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
|
|
LRESULT DoCreateMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoNotifyMain (HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoPaintMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoSizeMain(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
LRESULT DoCommandMain(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
LRESULT DoSettingChangeMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoHibernateMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoActivateMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
LRESULT DoDestroyMain(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
|
|
|
|
LPARAM DoMainCommandExit(HWND hwnd,WORD idItem,HWND hwndCtl,WORD wNotifyCode);
|
|
LPARAM DoMainCommandAbout(HWND hwnd, WORD idItem,
|
|
HWND hwndCtl, WORD wNotifyCode);
|
|
LPARAM DoMainCommandPlay(HWND hwnd, WORD idItem,HWND hwndCtl,WORD wNotifyCode);
|
|
LPARAM DoMainCommandFile(HWND hwnd, WORD idItem,HWND hwndCtl,WORD wNotifyCode);
|
|
BOOL CALLBACK AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
BOOL CALLBACK PlayDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
BOOL CALLBACK FileDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
#define FL_TOOLBAR1 101
|
|
#define FL_MAIN 102
|
|
#define FL_TOOLMENU 103
|
|
#define FL_ABOUTMENU 104
|
|
#define FL_RPTLIST 105
|
|
|
|
#define FLS_TOOLMENUNAME 150
|
|
#define FLS_ABOUTMENUNAME 151
|
|
|
|
#define FL_EXIT 201
|
|
#define FL_PLAY 202
|
|
#define FL_FILE 203
|
|
#define FL_ABOUT 204
|
|
#define FL_OPTIONS 205
|
|
|
|
#define FL_FILENAME 301
|
|
#define FL_TEXT 302
|
|
#define FL_PUSHPLAY 303
|
|
#define FL_PUSHTTS 304
|
|
#define FL_PUSHSTOP 305
|
|
#define FL_PUSHSELECT 306
|
|
#define FL_SYNTHTEXT 307
|
|
#define FL_FILEPOS 308
|
|
#define FL_PUSHFORWARD 309
|
|
#define FL_PUSHBACK 310
|
|
#define FL_BENCH 311
|
|
#define FL_SCREENOFF 312
|
|
#define FL_PUSHEND 313
|
|
#define FL_PUSHSAVE 314
|
|
|
|
#define FL_VOXLIST 401
|
|
#define FL_RELLIST 402
|
|
#define FL_OUTPUT 403
|
|
|
|
#define FL_MAX_TEXTLEN 256
|
|
|
|
#define FLOWM_PLAY 0
|
|
#define FLOWM_STOP 1
|
|
#define FLOWM_SKIP 2
|
|
#define FLOWM_BACKSKIP 3
|
|
#define FLOWM_BENCH 4
|
|
|
|
#endif
|