summaryrefslogtreecommitdiff
path: root/plugins/WinterSpeak/src/SpeechApi40a.h
diff options
context:
space:
mode:
authorPhilip Schell <github.com@blubbfish.net>2013-10-22 12:11:15 +0000
committerPhilip Schell <github.com@blubbfish.net>2013-10-22 12:11:15 +0000
commita27aa5dcda7e65de6e1bb04cfd8ea678242648d0 (patch)
tree6d126293901ae226f0a74f105f026a8f6085bf0f /plugins/WinterSpeak/src/SpeechApi40a.h
parentd2f13f41feb91bbc53a86207d0a1f75d2d22f8fb (diff)
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
Diffstat (limited to 'plugins/WinterSpeak/src/SpeechApi40a.h')
-rw-r--r--plugins/WinterSpeak/src/SpeechApi40a.h88
1 files changed, 88 insertions, 0 deletions
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<std::wstring> 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