From a27aa5dcda7e65de6e1bb04cfd8ea678242648d0 Mon Sep 17 00:00:00 2001 From: Philip Schell Date: Tue, 22 Oct 2013 12:11:15 +0000 Subject: WinterSpeak now has SAPI40a support ticket:476 and other minor fixes git-svn-id: http://svn.miranda-ng.org/main/trunk@6584 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/WinterSpeak/src/SpeechApi40a.h | 88 ++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 plugins/WinterSpeak/src/SpeechApi40a.h (limited to 'plugins/WinterSpeak/src/SpeechApi40a.h') diff --git a/plugins/WinterSpeak/src/SpeechApi40a.h b/plugins/WinterSpeak/src/SpeechApi40a.h new file mode 100644 index 0000000000..e9b524f954 --- /dev/null +++ b/plugins/WinterSpeak/src/SpeechApi40a.h @@ -0,0 +1,88 @@ +#pragma once +#include "texttospeech.h" + +struct ITTSCentralW; +struct ITTSAttributesA; + +class SpeechApi40a : public TextToSpeech +{ + public: + SpeechApi40a(); + virtual ~SpeechApi40a(); + + //-------------------------------------------------------------------------- + // Description : is the api available for use + // Return : true - it is available + // false - it is not available + //-------------------------------------------------------------------------- + virtual bool isAvailable(); + + //-------------------------------------------------------------------------- + // Description : load/unload/reload the speech api + // Return : true - the action succeeded + // false - the action failed + //-------------------------------------------------------------------------- + virtual bool load(); + virtual bool unload(); + + //-------------------------------------------------------------------------- + // Description : check if the speech api is loaded + // Return : true - the speech_api is loaded + // false - its not loaded + //-------------------------------------------------------------------------- + virtual bool isLoaded() const; + + //-------------------------------------------------------------------------- + // Description : speak a sentence + // Parameters : sentence - the sentence to speak + // Returns : true - speak successful + // false - speak failed + //-------------------------------------------------------------------------- + virtual bool say(const std::wstring &sentence); + + //-------------------------------------------------------------------------- + // Description : set the voice settings + // Parameters : range from 0 to 100 + //-------------------------------------------------------------------------- + virtual bool setVolume(int volume); + virtual bool setPitch(int pitch); + virtual bool setRate(int rate); + + //-------------------------------------------------------------------------- + // Description : set the voice + //-------------------------------------------------------------------------- + virtual bool setVoice(const std::wstring &voice); + + //-------------------------------------------------------------------------- + // Description : get the available voices + //-------------------------------------------------------------------------- + virtual std::vector getVoices() const; + + //-------------------------------------------------------------------------- + // Description : open the lexicon dialog for this engine + // Parameters : window - handle to the parent window + // Return : true - dialog completely successfully + // false - dialog failed + //-------------------------------------------------------------------------- + virtual bool lexiconDialog(HWND window); + + //-------------------------------------------------------------------------- + // Description : get the description of the tts engine + //-------------------------------------------------------------------------- + static std::wstring getDescription(); + + private: + //-------------------------------------------------------------------------- + // Description : load the speech api with the specified voice + //-------------------------------------------------------------------------- + bool loadWithVoice(std::wstring &voice); + + ITTSCentralW *m_tts_central; + ITTSAttributesA *m_tts_attribs; + + TextToSpeech::State m_state; + std::wstring m_voice; + int m_volume; + int m_pitch; + int m_rate; +}; \ No newline at end of file -- cgit v1.2.3