diff --git a/include/settings.hpp b/include/settings.hpp index fca46e7e..9ae178e3 100644 --- a/include/settings.hpp +++ b/include/settings.hpp @@ -10,7 +10,7 @@ extern bool gSkipAutosaveOnLaunch; extern bool b_touchkeyboard_enable; void settingsSave(std::string filename); -void settingsLoad(std::string filename, bool bWindowSizeOnly); +bool settingsLoad(std::string filename, bool bWindowSizeOnly); } // namespace rack diff --git a/src/main.cpp b/src/main.cpp index aeb12e74..2ff81e69 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -91,7 +91,8 @@ int vst2_init(int argc, char* argv[], bool _bFX) { printf("xxx vst2_init: 9\n"); appInit(devMode); printf("xxx vst2_init: 10\n"); - settingsLoad(assetLocal("settings.json"), false/*bWindowSizeOnly*/); + if(!settingsLoad(assetLocal("settings.json"), false/*bWindowSizeOnly*/)) + settingsLoad(assetLocal("settings_default.json"), false/*bWindowSizeOnly*/); printf("xxx vst2_init: 11\n"); #if 0 diff --git a/src/settings.cpp b/src/settings.cpp index 1f72d873..aee86b21 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -471,11 +471,11 @@ void settingsSave(std::string filename) { } } -void settingsLoad(std::string filename, bool bWindowSizeOnly) { +bool settingsLoad(std::string filename, bool bWindowSizeOnly) { info("Loading settings %s", filename.c_str()); FILE *file = fopen(filename.c_str(), "r"); if (!file) - return; + return false; json_error_t error; json_t *rootJ = json_loadf(file, 0, &error); @@ -488,6 +488,7 @@ void settingsLoad(std::string filename, bool bWindowSizeOnly) { } fclose(file); + return true; } diff --git a/vst2_bin/settings.json b/vst2_bin/settings_default.json similarity index 100% rename from vst2_bin/settings.json rename to vst2_bin/settings_default.json