27 |
#include <iostream> |
#include <iostream> |
28 |
#include <sstream> |
#include <sstream> |
29 |
#include <vector> |
#include <vector> |
30 |
|
#include <algorithm> |
31 |
#include <errno.h> |
#include <errno.h> |
32 |
#ifndef WIN32 |
#ifndef WIN32 |
33 |
#include <fnmatch.h> |
#include <fnmatch.h> |
34 |
|
#else |
35 |
|
#include <direct.h> |
36 |
#endif |
#endif |
|
|
|
37 |
#include "../common/Exception.h" |
#include "../common/Exception.h" |
38 |
|
|
39 |
namespace LinuxSampler { |
namespace LinuxSampler { |
129 |
#else |
#else |
130 |
char *userprofile = getenv("USERPROFILE"); |
char *userprofile = getenv("USERPROFILE"); |
131 |
if(userprofile) { |
if(userprofile) { |
132 |
DbFile = userprofile; |
String DbPath = userprofile; |
133 |
DbFile += "\\.linuxsampler\\instruments.db"; |
DbPath += "\\.linuxsampler"; |
134 |
|
DbFile = DbPath + "\\instruments.db"; |
135 |
|
File InstrumentsDbFile(DbFile); |
136 |
|
// if no DB exists create the subdir and then the DB |
137 |
|
if( !InstrumentsDbFile.Exist() ) { |
138 |
|
_mkdir( DbPath.c_str() ); |
139 |
|
// formats the DB, which creates a new instruments.db file |
140 |
|
Format(); |
141 |
|
} |
142 |
} |
} |
143 |
else { |
else { |
144 |
// in case USERPROFILE is not set (which should not occur) |
// in case USERPROFILE is not set (which should not occur) |
1226 |
} |
} |
1227 |
|
|
1228 |
String s = FilePath; |
String s = FilePath; |
|
|
|
|
#if WIN32 |
|
|
for (int i = 0; i < s.length(); i++) { |
|
|
if (s[i] == '\\') s[i] = '/'; |
|
|
} |
|
|
#endif |
|
|
|
|
1229 |
s = toEscapedFsPath(s); |
s = toEscapedFsPath(s); |
1230 |
BindTextParam(pStmt, 2, s); |
BindTextParam(pStmt, 2, s); |
1231 |
String ver = ""; |
String ver = ""; |
1858 |
} |
} |
1859 |
|
|
1860 |
String InstrumentsDb::toEscapedFsPath(String FsPath) { |
String InstrumentsDb::toEscapedFsPath(String FsPath) { |
1861 |
|
#ifdef WIN32 |
1862 |
|
replace(FsPath.begin(), FsPath.end(), '\\', '/'); |
1863 |
|
#endif |
1864 |
return toEscapedText(FsPath); |
return toEscapedText(FsPath); |
1865 |
} |
} |
1866 |
|
|
1867 |
String InstrumentsDb::toNonEscapedFsPath(String FsPath) { |
String InstrumentsDb::toNonEscapedFsPath(String FsPath) { |
1868 |
return toNonEscapedText(FsPath); |
FsPath = toNonEscapedText(FsPath); |
1869 |
|
#ifdef WIN32 |
1870 |
|
replace(FsPath.begin(), FsPath.end(), '/', '\\'); |
1871 |
|
#endif |
1872 |
|
return FsPath; |
1873 |
} |
} |
1874 |
|
|
1875 |
String InstrumentsDb::toAbstractName(String DbName) { |
String InstrumentsDb::toAbstractName(String DbName) { |