@@ -9,6 +9,11 @@ | |||||
#include <pwd.h> | #include <pwd.h> | ||||
#endif | #endif | ||||
#if ARCH_WIN | |||||
#include <Windows.h> | |||||
#include <Shlobj.h> | |||||
#endif | |||||
namespace rack { | namespace rack { | ||||
@@ -76,9 +81,14 @@ std::string assetLocal(std::string filename) { | |||||
path += "/" + filename; | path += "/" + filename; | ||||
#endif | #endif | ||||
#if ARCH_WIN | #if ARCH_WIN | ||||
// TODO | |||||
// Use ~/My Documents/Rack or something | |||||
path = "./" + filename; | |||||
// Get My Documents folder | |||||
char buf[MAX_PATH]; | |||||
HRESULT result = SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, buf); | |||||
assert(result == S_OK); | |||||
path = buf; | |||||
path += "/Rack"; | |||||
CreateDirectory(path.c_str(), NULL); | |||||
path += "/" + filename; | |||||
#endif | #endif | ||||
#if ARCH_LIN | #if ARCH_LIN | ||||
// TODO | // TODO | ||||
@@ -10,9 +10,15 @@ | |||||
using namespace rack; | using namespace rack; | ||||
int main(int argc, char* argv[]) { | int main(int argc, char* argv[]) { | ||||
char *cwd = getcwd(NULL, 0); | |||||
printf("Current working directory is %s\n", cwd); | |||||
free(cwd); | |||||
{ | |||||
char *cwd = getcwd(NULL, 0); | |||||
printf("Current working directory: %s\n", cwd); | |||||
free(cwd); | |||||
std::string globalDir = assetGlobal(""); | |||||
std::string localDir = assetLocal(""); | |||||
printf("Global directory: %s\n", globalDir.c_str()); | |||||
printf("Local directory: %s\n", localDir.c_str()); | |||||
} | |||||
pluginInit(); | pluginInit(); | ||||
engineInit(); | engineInit(); | ||||