commit d68b9968ec9b47400ba77bcb4aa9647973e6138d
parent cbb69c3b04022341cedb8c7eb6af5771bb7b8b41
Author: Steven Atkinson <steven@atkinson.mn>
Date: Thu, 15 Jun 2023 19:08:56 -0700
Open files on everything except macOS standalone (#297)
Diffstat:
3 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/NeuralAmpModeler/NeuralAmpModeler.cpp b/NeuralAmpModeler/NeuralAmpModeler.cpp
@@ -223,12 +223,19 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info)
}
};
- pGraphics->AttachControl(new NAMFileBrowserControl(modelArea, kMsgTagClearModel, "Select model directory...", "nam",
- loadModelCompletionHandler, style, fileSVG, closeButtonSVG,
- leftArrowSVG, rightArrowSVG),
+#ifdef NAM_PICK_DIRECTORY
+ const std::string defaultNamFileString = "Select model directory...";
+ const std::string defaultIRString = "Select IR directory...";
+#else
+ const std::string defaultNamFileString = "Select model...";
+ const std::string defaultIRString = "Select IR...";
+#endif
+ pGraphics->AttachControl(new NAMFileBrowserControl(modelArea, kMsgTagClearModel, defaultNamFileString.c_str(),
+ "nam", loadModelCompletionHandler, style, fileSVG,
+ closeButtonSVG, leftArrowSVG, rightArrowSVG),
kCtrlTagModelFileBrowser);
pGraphics->AttachControl(
- new NAMFileBrowserControl(irArea, kMsgTagClearIR, "Select IR directory...", "wav", loadIRCompletionHandler, style,
+ new NAMFileBrowserControl(irArea, kMsgTagClearIR, defaultIRString.c_str(), "wav", loadIRCompletionHandler, style,
fileSVG, closeButtonSVG, leftArrowSVG, rightArrowSVG),
kCtrlTagIRFileBrowser);
diff --git a/NeuralAmpModeler/NeuralAmpModelerControls.h b/NeuralAmpModeler/NeuralAmpModelerControls.h
@@ -202,6 +202,7 @@ public:
WDL_String fileName;
WDL_String path;
GetSelectedFileDirectory(path);
+#ifdef NAM_PICK_DIRECTORY
pCaller->GetUI()->PromptForDirectory(path, [&](const WDL_String& fileName, const WDL_String& path) {
if (path.GetLength())
{
@@ -212,6 +213,19 @@ public:
LoadFileAtCurrentIndex();
}
});
+#else
+ pCaller->GetUI()->PromptForFile(
+ fileName, path, EFileAction::Open, mExtension.Get(), [&](const WDL_String& fileName, const WDL_String& path) {
+ if (fileName.GetLength())
+ {
+ ClearPathList();
+ AddPath(path.Get(), "");
+ SetupMenu();
+ SetSelectedFile(fileName.Get());
+ LoadFileAtCurrentIndex();
+ }
+ });
+#endif
};
auto clearFileFunc = [&](IControl* pCaller) {
diff --git a/NeuralAmpModeler/config.h b/NeuralAmpModeler/config.h
@@ -73,3 +73,11 @@
#define TOGGLEIR2X_FN "SkinEHeritage_IR_Toggle@2x.png"
#define TOGGLE_HANDLE_FN "SkinEHeritage_ToggleHandle.png"
#define TOGGLE_HANDLE2X_FN "SkinEHeritage_ToggleHandle@2x.png"
+
+// Issue 291
+// On the macOS standalone, we might not have permissions to traverse the file directory, so we have the app ask the
+// user to pick a directory instead of the file in the directory.
+// Everyone else is fine though.
+#if defined(APP_API) && defined(__APPLE__)
+ #define NAM_PICK_DIRECTORY
+#endif