/*==========================================================================
*
* Copyright (C) 1997 Microsoft Corporation. All Rights Reserved.
*
* File: TrekSpeech.h
*
* Purpose:
* Class for handling text to speech. Requires an externally initialized
* DirectSound object, and the presence of a text to speech engine.
*
* Author: Terri Watson
*
*==========================================================================*/
#ifndef __TrekSpeech__
#define __TrekSpeech__
#include <dsound.h>
#include "speech.h"
class TrekSpeech {
private:
boolean m_HaveSpeech; // No problems w/ speech set-up
PIAUDIODIRECT m_pIAD; // AudioDirect interface (an audio
// destination for use with DirectSound)
public:
PITTSCENTRAL m_pITTSCentral; // TTSCentral interface
TTSMODEINFO m_TTSModeInfo; // Desired engine characteristics
TrekSpeech();
~TrekSpeech();
//===============
// Set-up methods
//===============
HRESULT InitAudioDest(LPDIRECTSOUND lpDS); // required DirectSound obj
HRESULT InitAudioDestination(LPDIRECTSOUND lpDS); // required DirectSound obj
void desiredGender(WORD wGender); // optional gender request
HRESULT SelectTTSEngine(); // optional
// SayText will call SelectTTSEngine() if needed, but it may save delay
// if the setup code calls this. If non-default characteristics are
// desired, set them up PRIOR to calling SelectTTSEngine() or SayText().
//======
// Speak
HRESULT SayText(char *text);
};
// Global until I find a home for the speech object
extern TrekSpeech g_TrekSpeech;
#define TRYSAYTEXT(text) g_TrekSpeech.SayText(text)
#endif // __TrekSpeech__