From 19ced32c584ac8788953b68d28293ae65d59f0a4 Mon Sep 17 00:00:00 2001 From: VodBox Date: Sat, 25 Sep 2021 22:13:38 +1200 Subject: [PATCH] UI: Translate to current OS for all colection imports Importers are written to convert third-party collection formats to a Windows OBS scene collection. The Studio importer is capable of translating scene collections to the correct types for the current operating system. This change makes it so all imports will be ran through the Studio translation, not just Studio and SL collections. --- UI/importers/classic.cpp | 5 +++++ UI/importers/sl.cpp | 3 +++ UI/importers/xsplit.cpp | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/UI/importers/classic.cpp b/UI/importers/classic.cpp index a3063ca6d..a03d0e981 100644 --- a/UI/importers/classic.cpp +++ b/UI/importers/classic.cpp @@ -530,6 +530,11 @@ int ClassicImporter::ImportScenes(const string &path, string &name, Json &res) Json sc = data; translate_sc(sc, res); + QDir dir(path.c_str()); + + TranslateOSStudio(res); + TranslatePaths(res, QDir::cleanPath(dir.filePath("..")).toStdString()); + return IMPORTER_SUCCESS; } diff --git a/UI/importers/sl.cpp b/UI/importers/sl.cpp index 60e0167d1..e127491a7 100644 --- a/UI/importers/sl.cpp +++ b/UI/importers/sl.cpp @@ -439,7 +439,10 @@ int SLImporter::ImportScenes(const string &path, string &name, Json &res) } } + QDir dir(path.c_str()); + TranslateOSStudio(res); + TranslatePaths(res, QDir::cleanPath(dir.filePath("..")).toStdString()); return result; } diff --git a/UI/importers/xsplit.cpp b/UI/importers/xsplit.cpp index 1cfb95d56..4e5f0bba6 100644 --- a/UI/importers/xsplit.cpp +++ b/UI/importers/xsplit.cpp @@ -477,6 +477,11 @@ int XSplitImporter::ImportScenes(const string &path, string &name, res = r; + QDir dir(path.c_str()); + + TranslateOSStudio(res); + TranslatePaths(res, QDir::cleanPath(dir.filePath("..")).toStdString()); + return IMPORTER_SUCCESS; }