Browse Source

[1.28.04] espeakedit: look for environment variable ESPEAK_DATA_PATH


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@72 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
eb7ff287d4
1 changed files with 19 additions and 8 deletions
  1. 19
    8
      src/options.cpp

+ 19
- 8
src/options.cpp View File

const char *path_base; const char *path_base;
#ifdef PLATFORM_WINDOWS #ifdef PLATFORM_WINDOWS
int found = 0;
char buf[200]; char buf[200];
wxRegKey *pRegKey = new wxRegKey(_T("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\eSpeak")); wxRegKey *pRegKey = new wxRegKey(_T("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Speech\\Voices\\Tokens\\eSpeak"));


if(pRegKey->Exists() )
if((path_base = getenv("ESPEAK_DATA_PATH")) != NULL)
{ {
wxString RegVal;
pRegKey->QueryValue(_T("Path"),RegVal);
strncpy0(buf,RegVal.mb_str(wxConvLocal),sizeof(buf));
path_base = buf;
sprintf(path_home,"%s\\espeak-data",path_base);
if(GetFileLength(path_home) == -2)
found = 1; // an espeak-data directory exists
} }
else

if(found == 0)
{ {
path_base = "C:\\Program Files\\eSpeak";
if(pRegKey->Exists() )
{
wxString RegVal;
pRegKey->QueryValue(_T("Path"),RegVal);
strncpy0(buf,RegVal.mb_str(wxConvLocal),sizeof(buf));
path_base = buf;
}
else
{
path_base = "C:\\Program Files\\eSpeak";
}
sprintf(path_home,"%s\\espeak-data",path_base);
} }
sprintf(path_home,"%s\\espeak-data",path_base);
#else #else
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
path_base = path_home; path_base = path_home;

Loading…
Cancel
Save