Make sure to include audiohw.h in settings.h or the definition of struct user_setting...
[kugel-rb.git] / rbutil / rbutilqt / base / ttssapi.h
blob531f25679cb417f66edc1ee5bb7d838f926a2a84
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * Copyright (C) 2009 by Dominik Wenger
10 * $Id$
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef TTSSAPI_H
23 #define TTSSAPI_H
25 #include "ttsbase.h"
27 class TTSSapi : public TTSBase
29 //! Enum to identify the settings
30 enum ESettings
32 eLANGUAGE,
33 eVOICE,
34 eSPEED,
35 eOPTIONS
38 Q_OBJECT
39 public:
40 TTSSapi(QObject* parent=NULL);
42 TTSStatus voice(QString text,QString wavfile, QString *errStr);
43 bool start(QString *errStr);
44 bool stop();
46 // for settings
47 bool configOk();
48 void generateSettings();
49 void saveSettings();
51 private slots:
52 void updateVoiceList();
54 private:
55 QStringList getVoiceList(QString language);
57 QProcess* voicescript;
58 QTextStream* voicestream;
59 QString defaultLanguage;
61 QString m_TTSexec;
62 QString m_TTSOpts;
63 QString m_TTSTemplate;
64 QString m_TTSLanguage;
65 QString m_TTSVoice;
66 QString m_TTSSpeed;
67 bool m_sapi4;
72 #endif