43 lines
944 B
C
Raw Normal View History

2024-01-08 23:37:00 +08:00
#ifndef API_SETTINGS_H
#define API_SETTINGS_H
#include <string>
#include <cstdint>
namespace ebyroid {
static constexpr size_t kMaxPathSize = 0xFF;
static constexpr int32_t kFrequency44 = 0xAC44;
static constexpr int32_t kFrequency22 = 0x5622;
static const char* kDllFilename = "aitalked.dll";
static const char* kLicFilename = "aitalk.lic";
static const char* kWinDelimit = "\\";
struct Settings {
char base_dir[kMaxPathSize];
char dll_path[kMaxPathSize];
char voice_dir[kMaxPathSize];
char voice_name[256];
char language_dir[kMaxPathSize];
char license_path[kMaxPathSize];
const char* seed;
uint32_t frequency;
};
class SettingsBuilder {
public:
SettingsBuilder(const std::string& base_dir, const std::string& voice_name)
: base_dir_(base_dir), voice_name_(voice_name) {}
Settings Build();
private:
std::string base_dir_;
std::string voice_name_;
};
} // namespace ebyroid
#endif // API_SETTINGS_H