blob: 9d6d28a2fe37087dca8b7477bfe51de7428d4859 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* Module: rbutil
* File: tts.h
*
* Copyright (C) 2007 Dominik wenger
*
* 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 _TALKFILE_H
#define _TALKFILE_H
#include "rbutil.h"
class TalkFileCreator
{
friend class TalkTraverser;
public:
TalkFileCreator();
~TalkFileCreator() {};
bool createTalkFiles();
void setTTSexe(wxString exe){m_TTSexec=exe;}
void setEncexe(wxString exe){m_EncExec=exe;}
wxArrayString getSupportedTTS(){return m_supportedTTS;}
void setTTsType(wxString tts) {m_curTTS = tts; }
wxString getTTsOpts(wxString ttsname);
void setTTsOpts(wxString opts) {m_TTSOpts=opts;}
wxArrayString getSupportedEnc(){return m_supportedEnc;}
void setEncType(wxString enc) {m_curEnc =enc; }
wxString getEncOpts(wxString encname);
void setEncOpts(wxString opts) {m_EncOpts=opts;}
void setDir(wxString dir){m_dir = dir; }
void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;}
void setOverwriteWav(bool ov) {m_overwriteWav = ov;}
void setRemoveWav(bool ov) {m_removeWav = ov;}
void setRecursive(bool ov) {m_recursive = ov;}
void setStripExtensions(bool ov) {m_stripExtensions = ov;}
private:
bool initTTS();
bool stopTTS();
bool initEncoder();
bool encode(wxString input,wxString output);
bool voice(wxString text,wxString wavfile);
wxString m_dir;
wxString m_curTTS;
wxString m_TTSexec;
wxArrayString m_supportedTTS;
wxArrayString m_supportedTTSOpts;
wxString m_TTSOpts;
wxString m_curEnc;
wxString m_EncExec;
wxArrayString m_supportedEnc;
wxArrayString m_supportedEncOpts;
wxString m_EncOpts;
bool m_overwriteTalk;
bool m_overwriteWav;
bool m_removeWav;
bool m_recursive;
bool m_stripExtensions;
};
class TalkTraverser: public wxDirTraverser
{
public:
TalkTraverser(TalkFileCreator* talkcreator) : m_talkcreator(talkcreator) { }
virtual wxDirTraverseResult OnFile(const wxString& filename);
virtual wxDirTraverseResult OnDir(const wxString& dirname);
private:
TalkFileCreator* m_talkcreator;
};
#endif
|