summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2007-10-19 21:49:07 +0000
committerDominik Wenger <domonoky@googlemail.com>2007-10-19 21:49:07 +0000
commit04f1eaf4f0828cb5018a005a58ba4bb675b15419 (patch)
treebffe234247a60705852d123281136477e9ee04b5 /rbutil
parent5d066590cc1285f4cbefef60267f0942e58a4cb0 (diff)
downloadrockbox-04f1eaf4f0828cb5018a005a58ba4bb675b15419.tar.gz
rockbox-04f1eaf4f0828cb5018a005a58ba4bb675b15419.zip
rbutil: try to fix all Bugs from FS#7982 in the talkfile creation. Additionally fix the positon of the _dirname.talk file and uninstallation of talkfiles.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15212 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp5
-rw-r--r--rbutil/rbutilqt/talkfile.cpp27
-rw-r--r--rbutil/rbutilqt/talkfile.h7
3 files changed, 20 insertions, 19 deletions
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index fbe2a2749b..bd05911035 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -114,7 +114,8 @@ void InstallTalkWindow::accept()
114 114
115 userSettings->sync(); 115 userSettings->sync();
116 116
117 talkcreator->setDir(folderToTalk); 117 talkcreator->setDir(QDir(folderToTalk));
118 talkcreator->setMountPoint(userSettings->value("mountpoint").toString());
118 talkcreator->setTTSexe(pathTTS); 119 talkcreator->setTTSexe(pathTTS);
119 talkcreator->setTTsOpts(ttsOpts); 120 talkcreator->setTTsOpts(ttsOpts);
120 talkcreator->setTTsLanguage(ttsLanguage); 121 talkcreator->setTTsLanguage(ttsLanguage);
@@ -166,8 +167,6 @@ void InstallTalkWindow::setUserSettings(QSettings *user)
166{ 167{
167 userSettings = user; 168 userSettings = user;
168 169
169 talkcreator->setMountPoint(userSettings->value("mountpoint").toString());
170
171 setTalkFolder(userSettings->value("last_talked_folder").toString()); 170 setTalkFolder(userSettings->value("last_talked_folder").toString());
172 171
173} 172}
diff --git a/rbutil/rbutilqt/talkfile.cpp b/rbutil/rbutilqt/talkfile.cpp
index 3b99b2c52c..e13647deb2 100644
--- a/rbutil/rbutilqt/talkfile.cpp
+++ b/rbutil/rbutilqt/talkfile.cpp
@@ -43,7 +43,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
43{ 43{
44 m_abort = false; 44 m_abort = false;
45 m_logger = logger; 45 m_logger = logger;
46 m_logger->addItem("Starting Talkfile generation",LOGINFO); 46 m_logger->addItem("Starting Talk file generation",LOGINFO);
47 47
48 if(m_curTTS == "sapi") 48 if(m_curTTS == "sapi")
49 m_tts = new TTSSapi(); 49 m_tts = new TTSSapi();
@@ -78,7 +78,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
78 { 78 {
79 if(m_abort) 79 if(m_abort)
80 { 80 {
81 m_logger->addItem("Talkfile creation aborted",LOGERROR); 81 m_logger->addItem("Talk file creation aborted",LOGERROR);
82 m_tts->stop(); 82 m_tts->stop();
83 return false; 83 return false;
84 } 84 }
@@ -88,13 +88,15 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
88 QString toSpeak; 88 QString toSpeak;
89 QString filename; 89 QString filename;
90 QString wavfilename; 90 QString wavfilename;
91 91
92 if(fileInf.fileName() == "." || fileInf.fileName() == ".." || fileInf.suffix() == "talk") 92 //! skip dotdot and .talk files
93 if(fileInf.fileName() == ".." || fileInf.suffix() == "talk")
93 { 94 {
94 it.next(); 95 it.next();
95 continue; 96 continue;
96 } 97 }
97 if(fileInf.isDir()) // if it is a dir 98 //! if it is a dir
99 if(fileInf.isDir())
98 { 100 {
99 // skip entry if folder talking isnt enabled 101 // skip entry if folder talking isnt enabled
100 if(m_talkFolders == false) 102 if(m_talkFolders == false)
@@ -102,7 +104,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
102 it.next(); 104 it.next();
103 continue; 105 continue;
104 } 106 }
105 toSpeak = fileInf.fileName(); 107 toSpeak = fileInf.absoluteDir().dirName();
106 filename = fileInf.absolutePath() + "/_dirname.talk"; 108 filename = fileInf.absolutePath() + "/_dirname.talk";
107 } 109 }
108 else // if it is a file 110 else // if it is a file
@@ -124,6 +126,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
124 QFileInfo filenameInf(filename); 126 QFileInfo filenameInf(filename);
125 QFileInfo wavfilenameInf(wavfilename); 127 QFileInfo wavfilenameInf(wavfilename);
126 128
129 //! the actual generation of the .talk files
127 if(!filenameInf.exists() || m_overwriteTalk) 130 if(!filenameInf.exists() || m_overwriteTalk)
128 { 131 {
129 if(!wavfilenameInf.exists() || m_overwriteWav) 132 if(!wavfilenameInf.exists() || m_overwriteWav)
@@ -146,7 +149,8 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
146 return false; 149 return false;
147 } 150 }
148 } 151 }
149 152
153 //! remove the intermedia wav file, if requested
150 QString now = QDate::currentDate().toString("yyyyMMdd"); 154 QString now = QDate::currentDate().toString("yyyyMMdd");
151 if(m_removeWav) 155 if(m_removeWav)
152 { 156 {
@@ -155,15 +159,16 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
155 installlog.remove(wavfilename); 159 installlog.remove(wavfilename);
156 } 160 }
157 else 161 else
158 installlog.setValue(wavfilename.remove(m_mountpoint),now); 162 installlog.setValue(wavfilename.remove(0,m_mountpoint.length()),now);
159 163
160 installlog.setValue(filename.remove(m_mountpoint),now); 164 //! add the .talk file to the install log
165 installlog.setValue(filename.remove(0,m_mountpoint.length()),now);
161 it.next(); 166 it.next();
162 } 167 }
163 168
164 installlog.endGroup(); 169 installlog.endGroup();
165 m_tts->stop(); 170 m_tts->stop();
166 m_logger->addItem("Finished creating Talkfiles",LOGOK); 171 m_logger->addItem("Finished creating Talk files",LOGOK);
167 m_logger->setProgressMax(1); 172 m_logger->setProgressMax(1);
168 m_logger->setProgressValue(1); 173 m_logger->setProgressValue(1);
169 m_logger->abort(); 174 m_logger->abort();
diff --git a/rbutil/rbutilqt/talkfile.h b/rbutil/rbutilqt/talkfile.h
index 1b8d9ca2e2..54819c80f8 100644
--- a/rbutil/rbutilqt/talkfile.h
+++ b/rbutil/rbutilqt/talkfile.h
@@ -67,7 +67,7 @@ public:
67 void setEncOpts(QString opts) {m_EncOpts=opts;} 67 void setEncOpts(QString opts) {m_EncOpts=opts;}
68 void setEncTemplate(QString t) { m_curEncTemplate = t; } 68 void setEncTemplate(QString t) { m_curEncTemplate = t; }
69 69
70 void setDir(QString dir){m_dir = dir; } 70 void setDir(QDir dir){m_dir = dir; }
71 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } 71 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
72 72
73 void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;} 73 void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;}
@@ -83,14 +83,11 @@ private slots:
83 83
84private: 84private:
85 TTSBase* m_tts; 85 TTSBase* m_tts;
86 //bool initTTS();
87 //bool stopTTS();
88 bool initEncoder(); 86 bool initEncoder();
89 87
90 bool encode(QString input,QString output); 88 bool encode(QString input,QString output);
91 //bool voice(QString text,QString wavfile);
92 89
93 QString m_dir; 90 QDir m_dir;
94 QString m_mountpoint; 91 QString m_mountpoint;
95 QString m_curTTS; 92 QString m_curTTS;
96 QString m_TTSexec; 93 QString m_TTSexec;