forked from ZDisket/TensorVox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
voicemanager.h
39 lines (26 loc) · 821 Bytes
/
voicemanager.h
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
#ifndef VOICEMANAGER_H
#define VOICEMANAGER_H
#include "Voice.h"
#include <QString>
#include "phoneticdict.h"
#include "phonemizer.h"
class VoiceManager
{
private:
std::vector<Voice*> Voices;
std::vector<DictEntry> ManDict;
std::vector<Phonemizer*> Phonemizers;
Phonemizer* LoadPhonemizer(const QString &InPhnLang);
public:
// Load a voice and return index in vector
size_t LoadVoice(const QString& Voname);
// Find a voice in Voices
// Returns index in Voices vector, if not found returns -1
int FindVoice(const QString& inName, bool autoload = true);
Voice* operator[](size_t in);
inline std::vector<Voice*>& GetVoices(){return Voices;}
void SetDict(const std::vector<DictEntry>& InDict);
VoiceManager();
~VoiceManager();
};
#endif // VOICEMANAGER_H