00001 00002 // Name: tts_macosx.h 00003 // Purpose: A wxTextToSpeech handler for the Mac OS X Speech Manager 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_MACOSX_ 00013 #define _WX_TTS_MACOSX_ 00014 00015 /* 00016 * Includes 00017 */ 00018 00019 #include "tts/tts.h" 00020 00027 class wxTTSMacOSXData; 00028 class wxTTSMacOSXHandler: public wxTTSHandler 00029 { 00030 DECLARE_DYNAMIC_CLASS( wxTTSMacOSXHandler ) 00031 00032 public: 00033 // Constructors 00034 00035 wxTTSMacOSXHandler(); 00036 ~wxTTSMacOSXHandler(); 00037 00038 // Operations 00039 00041 void Init(); 00042 00044 virtual bool Initialize(); 00045 00047 virtual bool Uninitialize(); 00048 00050 virtual bool Speak(const wxString& text, int options = wxTTS_SPEAK_ASYNC); 00051 00053 virtual bool SpeakFile(const wxString& filename, int options = wxTTS_SPEAK_ASYNC, const wxString& waveFilename = wxEmptyString); 00054 00056 virtual bool DoSpeak(const wxString& textOrFilename, bool isFilename, int options = wxTTS_SPEAK_ASYNC, const wxString& waveFilename = wxEmptyString); 00057 00059 virtual bool IsSpeaking() const; 00060 00062 virtual bool IsPaused() const; 00063 00065 virtual bool Stop(); 00066 00068 virtual bool Pause(); 00069 00071 virtual bool Resume(); 00072 00074 virtual wxArrayString GetAvailableVoices() const; 00075 00077 virtual wxArrayString GetAvailableVoiceVariants() const; 00078 00080 virtual bool HasCapability(wxTTSCapability capability) const; 00081 00082 virtual int GetMinSpeed() const { return 80; } 00083 virtual int GetMaxSpeed() const { return 390; } 00084 virtual int GetMinVolume() const { return 0; } 00085 virtual int GetMaxVolume() const { return 100; } 00086 00087 // Native pitch control is a multiplication factor, 00088 // but convert to percentage for wxTextToSpeech. 00089 // 50 would be the default. 00090 virtual int GetMinPitch() const { return 0; } 00091 virtual int GetMaxPitch() const { return 100; } 00092 00094 virtual wxString GetDefaultVoice() const; 00095 00097 virtual wxString GetDefaultVoiceVariant() const; 00098 00100 wxTTSMacOSXData* GetData() const { return m_data; } 00101 00102 protected: 00103 00104 wxTTSMacOSXData* m_data; 00105 }; 00106 00107 #endif 00108 // _WX_TTS_MACOSX_