FS#13449: Generate standalone voice clips in rbutil

VOICE_INVALID_VOICE_FILE and VOICE_LANG_NAME need to be discretely
saved as "InvalidVoice_<langname>.talk" and "<langname>.lng.talk"
under the target .rockbox/langs directory

This mirrors what the standalone voice.pl and buildzip.pl do.

Change-Id: I70fda4ffe85b5bccc164ebcbb484eedf034f143b
This commit is contained in:
Solomon Peachy 2024-07-20 11:13:27 -04:00
parent 6bfcba4422
commit e0b34a5c4d

View file

@ -247,8 +247,7 @@ void VoiceFileCreator::create(void)
TalkGenerator::TalkEntry entry;
entry.toSpeak = voice;
entry.wavfilename = m_path + "/" + id + ".wav";
//voicefont wants them with .mp3 extension
entry.talkfilename = m_path + "/" + id + ".mp3";
entry.talkfilename = m_path + "/" + id + ".enc";
entry.voiced = false;
entry.encoded = false;
if(id == "VOICE_PAUSE")
@ -324,6 +323,10 @@ void VoiceFileCreator::create(void)
voicefont(ids2,m_targetid,m_path.toLocal8Bit().data(), output, m_voiceformat);
// ids2 and output are closed by voicefont().
// Copy these two over to the device
QFile::copy(m_path + "/VOICE_INVALID_VOICE_FILE.enc", m_mountpoint + "/.rockbox/langs/InvalidVoice_" + m_lang + ".talk");
QFile::copy(m_path + "/VOICE_LANG_NAME.enc", m_mountpoint + "/.rockbox/langs/" + m_lang + ".lng.talk");
//cleanup
cleanup();
@ -359,4 +362,3 @@ void VoiceFileCreator::cleanup()
return;
}