2010-02-28 20:19:54 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
*
|
|
|
|
* Copyright (C) 2010 by Dominik Riebeling
|
|
|
|
*
|
|
|
|
* All files in this archive are subject to the GNU General Public License.
|
|
|
|
* See the file COPYING in the source tree root for full license agreement.
|
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
#ifndef TTSCARBON_H
|
|
|
|
#define TTSCARBON_H
|
|
|
|
|
|
|
|
#include <QtCore>
|
|
|
|
#include "ttsbase.h"
|
|
|
|
|
|
|
|
#include <Carbon/Carbon.h>
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
|
|
|
class TTSCarbon : public TTSBase
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
//! Enum to identify the settings
|
|
|
|
enum ConfigValuesCarbon
|
|
|
|
{
|
2010-03-11 20:09:22 +00:00
|
|
|
ConfigVoice,
|
2011-04-03 09:23:21 +00:00
|
|
|
ConfigSpeed,
|
|
|
|
ConfigPitch
|
2010-02-28 20:19:54 +00:00
|
|
|
};
|
|
|
|
public:
|
|
|
|
TTSCarbon(QObject *parent = NULL);
|
|
|
|
|
|
|
|
//! Child class should generate a clip
|
2012-10-06 11:44:39 +00:00
|
|
|
TTSStatus voice(QString text, QString wavfile, QString* errStr);
|
2010-02-28 20:19:54 +00:00
|
|
|
//! Child class should do startup
|
|
|
|
bool start(QString *errStr);
|
|
|
|
//! child class should stop
|
|
|
|
bool stop() ;
|
2011-09-26 21:28:05 +00:00
|
|
|
QString voiceVendor(void) { return QString(); }
|
2010-02-28 20:19:54 +00:00
|
|
|
|
|
|
|
// configuration
|
|
|
|
//! Child class should return true, when configuration is good
|
|
|
|
bool configOk();
|
|
|
|
//! Child class should generate and insertSetting(..) its settings
|
|
|
|
void generateSettings();
|
2012-10-06 11:44:39 +00:00
|
|
|
//! Child class should commit the Settings to permanent storage
|
2010-02-28 20:19:54 +00:00
|
|
|
void saveSettings();
|
|
|
|
|
2010-06-04 21:22:25 +00:00
|
|
|
Capabilities capabilities();
|
|
|
|
|
2010-02-28 20:19:54 +00:00
|
|
|
private:
|
|
|
|
SpeechChannel m_channel;
|
|
|
|
CFStringBuiltInEncodings m_voiceScript;
|
|
|
|
|
|
|
|
unsigned long be2u32(unsigned char* buf);
|
|
|
|
unsigned long be2u16(unsigned char* buf);
|
|
|
|
unsigned char* u32tobuf(unsigned char* buf, uint32_t val);
|
|
|
|
unsigned char* u16tobuf(unsigned char* buf, uint16_t val);
|
|
|
|
unsigned int extended2int(unsigned char* buf);
|
|
|
|
int convertAiffToWav(const char* aiff, const char* wav);
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // TTSCARBON_H
|
|
|
|
|