Save the internal name for tts / encoder in the configuration file, not the displayed...
[Rockbox.git] / rbutil / rbutilqt / tts.h
blob40fd4c727c5780561c1b421785d9abe7e4d59bc2
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * Copyright (C) 2007 by Dominik Wenger
10 * $Id: tts.h 15212 2007-10-19 21:49:07Z domonoky $
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
21 #ifndef TTS_H
22 #define TTS_H
25 #include "rbsettings.h"
26 #include <QtGui>
28 #ifndef CONSOLE
29 #include "ttsgui.h"
30 #endif
32 class TTSBase;
34 //inits the tts List
35 void initTTSList();
36 // function to get a specific tts
37 TTSBase* getTTS(QString ttsname);
38 // get the list of tts, nice names
39 QStringList getTTSList();
40 QString getTTSName(QString tts);
43 class TTSBase : public QObject
45 Q_OBJECT
46 public:
47 TTSBase();
48 virtual bool voice(QString text,QString wavfile) {(void)text; (void)wavfile; return false;}
49 virtual bool start(QString *errStr){(void)errStr; return false;}
50 virtual bool stop(){return false;}
51 virtual void showCfg(){}
52 virtual bool configOk(){return false;}
54 void setCfg(RbSettings* sett){settings = sett;}
56 public slots:
57 virtual void accept(void){}
58 virtual void reject(void){}
59 virtual void reset(void){}
61 protected:
62 RbSettings* settings;
65 class TTSSapi : public TTSBase
67 Q_OBJECT
68 public:
69 TTSSapi();
70 virtual bool voice(QString text,QString wavfile);
71 virtual bool start(QString *errStr);
72 virtual bool stop();
73 virtual void showCfg();
74 virtual bool configOk();
76 QStringList getVoiceList(QString language);
77 private:
79 QProcess* voicescript;
81 QString defaultLanguage;
83 QString m_TTSexec;
84 QString m_TTSOpts;
85 QString m_TTSTemplate;
86 QString m_TTSLanguage;
87 QString m_TTSVoice;
88 QString m_TTSSpeed;
92 class TTSExes : public TTSBase
94 Q_OBJECT
95 public:
96 TTSExes(QString name);
97 virtual bool voice(QString text,QString wavfile);
98 virtual bool start(QString *errStr);
99 virtual bool stop() {return true;}
100 virtual void showCfg();
101 virtual bool configOk();
105 private:
107 QString m_name;
108 QString m_TTSexec;
109 QString m_TTSOpts;
110 QString m_TTSTemplate;
111 QMap<QString,QString> m_TemplateMap;
114 #endif