diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-15 21:04:28 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-24 18:05:53 +0100 |
commit | c876d3bbefe0dc00c27ca0c12d29da5874946962 (patch) | |
tree | 69f468a185a369b01998314bc3ecc19b70f4fcaa /utils/rbutilqt/base/talkgenerator.h | |
parent | 6c6f0757d7a902feb293be165d1490c42bc8e7ad (diff) | |
download | rockbox-c876d3bbefe0dc00c27ca0c12d29da5874946962.tar.gz rockbox-c876d3bbefe0dc00c27ca0c12d29da5874946962.zip |
rbutil: Merge rbutil with utils folder.
rbutil uses several components from the utils folder, and can be
considered part of utils too. Having it in a separate folder is an
arbitrary split that doesn't help anymore these days, so merge them.
This also allows other utils to easily use libtools.make without the
need to navigate to a different folder.
Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21
Diffstat (limited to 'utils/rbutilqt/base/talkgenerator.h')
-rw-r--r-- | utils/rbutilqt/base/talkgenerator.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/utils/rbutilqt/base/talkgenerator.h b/utils/rbutilqt/base/talkgenerator.h new file mode 100644 index 0000000000..3e2f9394fb --- /dev/null +++ b/utils/rbutilqt/base/talkgenerator.h | |||
@@ -0,0 +1,91 @@ | |||
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 TALKGENERATOR_H | ||
23 | #define TALKGENERATOR_H | ||
24 | |||
25 | #include <QtCore> | ||
26 | #include "progressloggerinterface.h" | ||
27 | |||
28 | #include "encoderbase.h" | ||
29 | #include "ttsbase.h" | ||
30 | |||
31 | //! \brief Talk generator, generates .wav and .talk files out of a list. | ||
32 | class TalkGenerator :public QObject | ||
33 | { | ||
34 | Q_OBJECT | ||
35 | public: | ||
36 | enum Status | ||
37 | { | ||
38 | eOK, | ||
39 | eWARNING, | ||
40 | eERROR | ||
41 | }; | ||
42 | |||
43 | struct TalkEntry | ||
44 | { | ||
45 | QString toSpeak; | ||
46 | QString wavfilename; | ||
47 | QString talkfilename; | ||
48 | QString target; | ||
49 | bool voiced; | ||
50 | bool encoded; | ||
51 | }; | ||
52 | |||
53 | TalkGenerator(QObject* parent); | ||
54 | |||
55 | Status process(QList<TalkEntry>* list,int wavtrimth = -1); | ||
56 | QString correctString(QString s); | ||
57 | |||
58 | public slots: | ||
59 | void abort(); | ||
60 | void setLang(QString name); | ||
61 | |||
62 | signals: | ||
63 | void done(bool); | ||
64 | void logItem(QString, int); //! set logger item | ||
65 | void logProgress(int, int); //! set progress bar. | ||
66 | |||
67 | private: | ||
68 | Status voiceList(QList<TalkEntry>* list,int wavetrimth); | ||
69 | Status encodeList(QList<TalkEntry>* list); | ||
70 | |||
71 | TTSBase* m_tts; | ||
72 | EncoderBase* m_enc; | ||
73 | |||
74 | QString m_lang; | ||
75 | |||
76 | struct CorrectionItems | ||
77 | { | ||
78 | QString search; | ||
79 | QString replace; | ||
80 | QString modifier; | ||
81 | }; | ||
82 | QList<struct CorrectionItems> m_corrections; | ||
83 | |||
84 | bool m_abort; | ||
85 | |||
86 | |||
87 | }; | ||
88 | |||
89 | |||
90 | #endif | ||
91 | |||