summaryrefslogtreecommitdiff
path: root/utils/rbutilqt/base/ttscarbon.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rbutilqt/base/ttscarbon.h')
-rw-r--r--utils/rbutilqt/base/ttscarbon.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/utils/rbutilqt/base/ttscarbon.h b/utils/rbutilqt/base/ttscarbon.h
new file mode 100644
index 0000000000..2e9e84aa7d
--- /dev/null
+++ b/utils/rbutilqt/base/ttscarbon.h
@@ -0,0 +1,73 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2010 by Dominik Riebeling
10 *
11 * All files in this archive are subject to the GNU General Public License.
12 * See the file COPYING in the source tree root for full license agreement.
13 *
14 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
15 * KIND, either express or implied.
16 *
17 ****************************************************************************/
18
19#ifndef TTSCARBON_H
20#define TTSCARBON_H
21
22#include <QtCore>
23#include "ttsbase.h"
24
25#include <Carbon/Carbon.h>
26#include <inttypes.h>
27
28class TTSCarbon : public TTSBase
29{
30 Q_OBJECT
31 //! Enum to identify the settings
32 enum ConfigValuesCarbon
33 {
34 ConfigVoice,
35 ConfigSpeed,
36 ConfigPitch
37 };
38 public:
39 TTSCarbon(QObject *parent = NULL);
40
41 //! Child class should generate a clip
42 TTSStatus voice(QString text, QString wavfile, QString* errStr);
43 //! Child class should do startup
44 bool start(QString *errStr);
45 //! child class should stop
46 bool stop() ;
47 QString voiceVendor(void) { return QString(); }
48
49 // configuration
50 //! Child class should return true, when configuration is good
51 bool configOk();
52 //! Child class should generate and insertSetting(..) its settings
53 void generateSettings();
54 //! Child class should commit the Settings to permanent storage
55 void saveSettings();
56
57 Capabilities capabilities();
58
59 private:
60 SpeechChannel m_channel;
61 CFStringBuiltInEncodings m_voiceScript;
62
63 unsigned long be2u32(unsigned char* buf);
64 unsigned long be2u16(unsigned char* buf);
65 unsigned char* u32tobuf(unsigned char* buf, uint32_t val);
66 unsigned char* u16tobuf(unsigned char* buf, uint16_t val);
67 unsigned int extended2int(unsigned char* buf);
68 int convertAiffToWav(const char* aiff, const char* wav);
69
70};
71
72#endif // TTSCARBON_H
73