summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/base/ttssapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rbutilqt/base/ttssapi.h')
-rw-r--r--utils/rbutilqt/base/ttssapi.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/utils/rbutilqt/base/ttssapi.h b/utils/rbutilqt/base/ttssapi.h
new file mode 100644
index 0000000000..25d7d3dab7
--- /dev/null
+++ b/utils/rbutilqt/base/ttssapi.h
@@ -0,0 +1,77 @@
1/***************************************************************************
2* __________ __ ___.
3* Open \______ \ ____ ____ | | _\_ |__ _______ ___
4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7* \/ \/ \/ \/ \/
8*
9* Copyright (C) 2009 by Dominik Wenger
10*
11* This program is free software; you can redistribute it and/or
12* modify it under the terms of the GNU General Public License
13* as published by the Free Software Foundation; either version 2
14* of the License, or (at your option) any later version.
15*
16* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
17* KIND, either express or implied.
18*
19****************************************************************************/
20
21#ifndef TTSSAPI_H
22#define TTSSAPI_H
23
24#include "ttsbase.h"
25
26class TTSSapi : public TTSBase
27{
28 //! Enum to identify the settings
29 enum ESettings
30 {
31 eLANGUAGE,
32 eVOICE,
33 eSPEED,
34 eOPTIONS
35 };
36
37 Q_OBJECT
38 public:
39 TTSSapi(QObject* parent=nullptr);
40
41 TTSStatus voice(QString text,QString wavfile, QString *errStr);
42 bool start(QString *errStr);
43 bool stop();
44 QString voiceVendor(void);
45 Capabilities capabilities();
46
47 // for settings
48 bool configOk();
49 void generateSettings();
50 void saveSettings();
51
52 private slots:
53 void updateVoiceList();
54
55 private:
56 QStringList getVoiceList(QString language);
57
58 QProcess* voicescript;
59 QTextStream* voicestream;
60 QString defaultLanguage;
61
62 QString m_TTSexec;
63 QString m_TTSOpts;
64 QString m_TTSLanguage;
65 QString m_TTSVoice;
66 QString m_TTSSpeed;
67 bool m_started;
68
69 protected:
70 QString m_TTSTemplate;
71 QString m_TTSVoiceTemplate;
72 QString m_TTSType;
73};
74
75
76
77#endif