diff --git a/src/sfizz/Parser.cpp b/src/sfizz/Parser.cpp index d007a205..5d2c643e 100644 --- a/src/sfizz/Parser.cpp +++ b/src/sfizz/Parser.cpp @@ -43,11 +43,11 @@ void removeCommentOnLine(absl::string_view& line) bool sfz::Parser::loadSfzFile(const fs::path& file) { - const auto sfzFile = file.is_absolute() ? file : rootDirectory / file; + const auto sfzFile = file.is_absolute() ? file : defaultPath / file; if (!fs::exists(sfzFile)) return false; - rootDirectory = file.parent_path(); + defaultPath = file.parent_path(); std::vector lines; readSfzFile(file, lines); @@ -105,7 +105,7 @@ void sfz::Parser::readSfzFile(const fs::path& fileName, std::vector if (std::regex_search(tmpView.begin(), tmpView.end(), includeMatch, sfz::Regexes::includes)) { auto includePath = includeMatch.str(1); std::replace(includePath.begin(), includePath.end(), '\\', '/'); - const auto newFile = rootDirectory / includePath; + const auto newFile = defaultPath / includePath; auto alreadyIncluded = std::find(includedFiles.begin(), includedFiles.end(), newFile); if (fs::exists(newFile)) { if (alreadyIncluded == includedFiles.end()) { diff --git a/src/sfizz/Parser.h b/src/sfizz/Parser.h index ecce4dac..cb767582 100644 --- a/src/sfizz/Parser.h +++ b/src/sfizz/Parser.h @@ -40,7 +40,7 @@ public: void enableRecursiveIncludeGuard() { recursiveIncludeGuard = true; } protected: virtual void callback(absl::string_view header, const std::vector& members) = 0; - fs::path rootDirectory { fs::current_path() }; + fs::path defaultPath { fs::current_path() }; private: bool recursiveIncludeGuard { false }; std::map defines; diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index e41a14dc..3ddcef11 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -189,10 +189,10 @@ void sfz::Synth::handleControlOpcodes(const std::vector& members) [[fallthrough]]; case hash("default_path"): { const auto stringPath = absl::StrReplaceAll(trim(member.value), { { "\\", "/" } }); - const auto newPath = rootDirectory / fs::path(stringPath); + const auto newPath = defaultPath / fs::path(stringPath); if (fs::exists(newPath)) { DBG("Changing default sample path to " << stringPath); - rootDirectory = newPath; + defaultPath = newPath; } break; } @@ -236,7 +236,7 @@ bool sfz::Synth::loadSfzFile(const fs::path& filename) if (regions.empty()) return false; - resources.filePool.setRootDirectory(this->rootDirectory); + resources.filePool.setRootDirectory(this->defaultPath); auto lastRegion = regions.end() - 1; auto currentRegion = regions.begin();