commit 093ffc888196395dc8271a610387bbb7efaca554
parent 965ecb9b6dbb58076c5442cbd2ab9c344b25e684
Author: jatinchowdhury18 <jatinchowdhury18@gmail.com>
Date: Sat, 10 Apr 2021 08:37:06 -0700
Better user presets functionality for iOS (#180)
* Better user presets functionality for iOS
* {Apply clang-format}
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Diffstat:
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/Plugin/Source/Presets/PresetComp.cpp b/Plugin/Source/Presets/PresetComp.cpp
@@ -41,6 +41,7 @@ PresetComp::PresetComp (ChowtapeModelAudioProcessor& proc, PresetManager& manage
while (idx > manager.getNumPresets())
idx -= manager.getNumPresets();
+ presetNameEditor.setVisible (false);
presetBox.setSelectedId (idx, sendNotification);
};
};
@@ -108,6 +109,7 @@ void PresetComp::addPresetOptions()
saveItem.action = [=] { saveUserPreset(); };
menu->addItem (saveItem);
+#if ! JUCE_IOS
PopupMenu::Item goToFolderItem { "Go to Preset folder..." };
goToFolderItem.itemID = 1002;
goToFolderItem.action = [=] {
@@ -124,6 +126,7 @@ void PresetComp::addPresetOptions()
chooseFolderItem.itemID = 1003;
chooseFolderItem.action = [=] { presetUpdated(); manager.chooseUserPresetFolder(); };
menu->addItem (chooseFolderItem);
+#endif
}
void PresetComp::paint (Graphics& g)
diff --git a/Plugin/Source/Presets/PresetManager.cpp b/Plugin/Source/Presets/PresetManager.cpp
@@ -47,6 +47,16 @@ void Preset::initialise (const ValueTree& parentTree)
//====================================================
PresetManager::PresetManager()
{
+#if JUCE_IOS
+ File appDataDir = File::getSpecialLocation (File::userApplicationDataDirectory);
+ userPresetFolder = appDataDir.getChildFile (userPresetPath).getSiblingFile ("Presets");
+ if (! userPresetFolder.isDirectory())
+ {
+ userPresetFolder.deleteFile();
+ userPresetFolder.createDirectory();
+ }
+#endif
+
loadPresets();
}
@@ -172,6 +182,7 @@ File PresetManager::getUserPresetConfigFile() const
void PresetManager::chooseUserPresetFolder()
{
+#if ! JUCE_IOS
FileChooser chooser ("Choose preset folder");
if (chooser.browseForDirectory())
{
@@ -182,6 +193,7 @@ void PresetManager::chooseUserPresetFolder()
config.replaceWithText (result.getFullPathName());
updateUserPresets();
}
+#endif
}
void PresetManager::loadPresetFolder (PopupMenu& menu, File& directory)
@@ -216,12 +228,14 @@ void PresetManager::loadPresetFolder (PopupMenu& menu, File& directory)
void PresetManager::updateUserPresets()
{
+#if ! JUCE_IOS
// set preset folder
auto config = getUserPresetConfigFile();
if (config.existsAsFile())
userPresetFolder = File (config.loadFileAsString());
else
userPresetFolder = File();
+#endif
// remove existing user presets
presets.removeRange (numFactoryPresets, maxIdx - numFactoryPresets);