include/tts/tts_sapi.h

Go to the documentation of this file.
00001 
00002 // Name:        tts_sapi.h
00003 // Purpose:     A wxWidgets wrapper around SAPI
00004 // Author:      Julian Smart
00005 // Modified by: 
00006 // Created:     2009-02-10
00007 // RCS-ID:      
00008 // Copyright:   (c) Julian Smart
00009 // Licence:     New BSD License
00011 
00012 #ifndef _WX_TTS_SAPI_
00013 #define _WX_TTS_SAPI_
00014 
00015 /*
00016  * Includes
00017  */
00018 
00019 #include "tts/tts.h"
00020 
00021 /*
00022  * Styles and types
00023  */
00024 
00025 // SAPI-specific properties
00026 
00033 class wxTTSSapiData;
00034 class wxTTSSapiHandler: public wxTTSHandler
00035 {    
00036     DECLARE_DYNAMIC_CLASS( wxTTSSapiHandler )
00037 
00038 public:
00039 // Constructors
00040 
00041     wxTTSSapiHandler();
00042     ~wxTTSSapiHandler();
00043 
00044 // Operations
00045 
00047     void Init();
00048 
00050     virtual bool Initialize();
00051 
00053     virtual bool Uninitialize();
00054 
00056     virtual bool Speak(const wxString& text, int options = wxTTS_SPEAK_ASYNC);
00057 
00059     virtual bool SpeakFile(const wxString& filename, int options = wxTTS_SPEAK_ASYNC, const wxString& waveFilename = wxEmptyString);
00060 
00062     virtual bool DoSpeak(const wxString& textOrFilename, bool isFilename, int options = wxTTS_SPEAK_ASYNC, const wxString& waveFilename = wxEmptyString);
00063 
00065     virtual bool IsSpeaking() const;
00066 
00068     virtual bool IsPaused() const;
00069 
00071     virtual bool Stop();
00072 
00074     virtual bool Pause();
00075 
00077     virtual bool Resume();
00078 
00082     virtual bool Skip(int toSkip, wxTTSSkipType itemType = wxTTS_SkipSentence);
00083 
00085     virtual bool CanSkip() const;
00086 
00088     virtual wxArrayString GetAvailableVoices() const;
00089 
00094     virtual bool VoicesAreCompatible(const wxString& voice1, const wxString& voice2) const;
00095 
00097     virtual wxArrayString GetAvailableVoiceVariants() const;
00098 
00100     virtual bool HasCapability(wxTTSCapability capability) const;
00101 
00102     virtual int GetMinSpeed() const { return -10; }
00103     virtual int GetMaxSpeed() const { return 10; }
00104     virtual int GetMinVolume() const { return 0; }
00105     virtual int GetMaxVolume() const { return 100; }
00106 
00107     // Native pitch control is a multiplication factor,
00108     // but convert to percentage for wxTextToSpeech.
00109     // 50 would be the default.
00110     virtual int GetMinPitch() const { return 0; }
00111     virtual int GetMaxPitch() const { return 100; }
00112 
00114     virtual wxString GetDefaultVoice() const;
00115 
00117     virtual wxString GetDefaultVoiceVariant() const;
00118 
00120     static wxArrayString GetAvailableVoicesForDir(const wxString& voicesDir);
00121 
00123     virtual int CreateTransformerOptions(int mandatoryOptions = 0) const;
00124 
00126     wxTTSSapiData* GetData() const { return m_data; }
00127 
00129     void Callback();
00130     void Yield();
00131 
00135     static void SetSimultaneousVoiceExclusions(const wxArrayString& exclusions) { sm_simultaneousVoiceExclusions = exclusions; }
00136     static const wxArrayString& GetSimultaneousVoiceExclusions() { return sm_simultaneousVoiceExclusions; }
00137 protected:
00138 
00139     wxTTSSapiData* m_data;
00140     static wxArrayString sm_simultaneousVoiceExclusions;
00141 };
00142 
00143 #endif
00144     // _WX_TTS_SAPI_

Generated on Wed May 6 19:20:19 2009 for AxTk by  doxygen 1.5.1