NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler
Log | Files | Refs | Submodules | README | LICENSE

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:
MNeuralAmpModeler/NeuralAmpModeler.cpp | 15+++++++++++----
MNeuralAmpModeler/NeuralAmpModelerControls.h | 14++++++++++++++
MNeuralAmpModeler/config.h | 8++++++++
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