summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/base/ttsbase.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rbutilqt/base/ttsbase.h')
-rw-r--r--utils/rbutilqt/base/ttsbase.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/utils/rbutilqt/base/ttsbase.h b/utils/rbutilqt/base/ttsbase.h
new file mode 100644
index 0000000000..125fe49ff4
--- /dev/null
+++ b/utils/rbutilqt/base/ttsbase.h
@@ -0,0 +1,70 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 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
22#ifndef TTSBASE_H
23#define TTSBASE_H
24
25#include <QtCore>
26
27#include "encttssettings.h"
28
29enum TTSStatus{ FatalError, NoError, Warning };
30class TTSBase : public EncTtsSettingInterface
31{
32 Q_OBJECT
33 public:
34 enum Capability { None = 0, RunInParallel = 1, CanSpeak = 2 };
35 Q_DECLARE_FLAGS(Capabilities, Capability)
36
37 TTSBase(QObject *parent);
38 //! Child class should generate a clip
39 virtual TTSStatus voice(QString text,QString wavfile, QString* errStr) =0;
40 //! Child class should do startup
41 virtual bool start(QString *errStr) =0;
42 //! child class should stop
43 virtual bool stop() =0;
44
45 virtual QString voiceVendor(void) = 0;
46 // configuration
47 //! Child class should return true, when configuration is good
48 virtual bool configOk()=0;
49 //! Child class should generate and insertSetting(..) its settings
50 virtual void generateSettings() = 0;
51 //! Chlid class should commit the Settings to permanent storage
52 virtual void saveSettings() = 0;
53
54 virtual Capabilities capabilities() = 0;
55
56 // static functions
57 static TTSBase* getTTS(QObject* parent,QString ttsname);
58 static QStringList getTTSList();
59 static QString getTTSName(QString tts);
60
61 private:
62 //inits the tts List
63 static void initTTSList();
64
65 protected:
66 static QMap<QString,QString> ttsList;
67};
68Q_DECLARE_OPERATORS_FOR_FLAGS(TTSBase::Capabilities)
69
70#endif