Krotos Modules 3
Loading...
Searching...
No Matches
PresetManager.h
Go to the documentation of this file.
1namespace krotos
2{
3 //==============================================================================
15 class PresetManager final
16 {
17 public:
19 struct Preset
20 {
21 String name;
22 File path;
23 };
24
26 std::function<void(const ValueTree&)> presetChanged{nullptr};
27
30 static bool checkPresetVersion(const File& presetFile, const String& pluginVersion, const bool showAlertWindow);
31
33 static String getPresetVersion(const ValueTree& state);
34
36 static String getPresetVersion(const File& presetFile);
37
40 static void writePresetVersion(ValueTree& state, const String& versionNumber);
41
43 static File getFactoryTemplateDirectory();
44
46 static File getUserTemplateDirectory();
47
49 static File getFactoryPresetDirectory();
50
52 static File getUserPresetDirectory();
53
55 static ValueTree getValueTreeFromFile(const File& presetFile);
56
58 static void writeValueTreeToFile(const ValueTree& valueTree, const File& outputFile);
59
61 static Preset getPresetFromFile(const File& file);
62
64 static File getInitPresetFile();
65
68
70 const Preset& getCurrentPreset() const;
71
73 void setCurrentPreset(const File& presetFile);
74
81 PopupMenu getCurrentPopupMenu();
82
92 static void checkReformerVersion(ValueTree& state);
93
104 static void checkReformerVersion(File& preset);
105
113 static void writeReformerVersion(ValueTree& state);
114
123 static String getReformerVersion(ValueTree& state);
124
125 private:
126 PopupMenu getPopupMenuFromDirectory(const File& presetDirectory);
127 static void checkReformerVersionInternal(ValueTree& state);
129
130 static const String m_cutoffVersion;
131 static const String m_factoryPresetFolderName;
132 static const String m_userPresetFolderName;
133 static const String m_presetFileExtension;
134 static const String m_initFileName;
135
137
138 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PresetManager)
139 };
140
147 class PresetException : public std::runtime_error
148 {
149 public:
150 PresetException(const String& whatHappened, const String& whenDidItHappen)
151 : std::runtime_error(whatHappened.getCharPointer())
152 {
153 this->m_whenDidItHappen = whenDidItHappen;
154 };
155 char const* what() const noexcept override;
156 String when() const;
157
158 private:
160 };
161} // namespace krotos
An exception for preset manager.
Definition PresetManager.h:148
String m_whenDidItHappen
Definition PresetManager.h:159
char const * what() const noexcept override
Definition PresetManager.cpp:339
String when() const
Definition PresetManager.cpp:341
PresetException(const String &whatHappened, const String &whenDidItHappen)
Definition PresetManager.h:150
Helper class for saving and loading presets.
Definition PresetManager.h:16
const Preset & getCurrentPreset() const
Definition PresetManager.cpp:261
static void writeReformerVersion(ValueTree &state)
Writes the Reformer version to a ValueTree.
Definition PresetManager.cpp:68
static const String m_cutoffVersion
Definition PresetManager.h:130
PopupMenu getCurrentPopupMenu()
Definition PresetManager.cpp:272
void setCurrentPreset(const File &presetFile)
Definition PresetManager.cpp:263
PresetManager()
Definition PresetManager.cpp:241
static void checkReformerVersion(ValueTree &state)
Checks the Reformer version within a ValueTree.
Definition PresetManager.cpp:101
static File getFactoryPresetDirectory()
Definition PresetManager.cpp:200
static const String m_presetFileExtension
Definition PresetManager.h:133
static File getInitPresetFile()
Definition PresetManager.cpp:222
static void checkReformerVersionInternal(ValueTree &state)
Definition PresetManager.cpp:110
static File getUserPresetDirectory()
Definition PresetManager.cpp:211
Preset m_currentPreset
Definition PresetManager.h:136
static const String m_initFileName
Definition PresetManager.h:134
static const String m_factoryPresetFolderName
Definition PresetManager.h:131
static ValueTree getValueTreeFromFile(const File &presetFile)
Definition PresetManager.cpp:154
static void writeValueTreeToFile(const ValueTree &valueTree, const File &outputFile)
Definition PresetManager.cpp:163
static Preset getPresetFromFile(const File &file)
Definition PresetManager.cpp:171
void initializePresetDirectories()
Definition PresetManager.cpp:282
static String getPresetVersion(const ValueTree &state)
Definition PresetManager.cpp:47
PopupMenu getPopupMenuFromDirectory(const File &presetDirectory)
Definition PresetManager.cpp:321
static File getUserTemplateDirectory()
Definition PresetManager.cpp:189
static bool checkPresetVersion(const File &presetFile, const String &pluginVersion, const bool showAlertWindow)
Definition PresetManager.cpp:10
std::function< void(const ValueTree &)> presetChanged
Definition PresetManager.h:26
static const String m_userPresetFolderName
Definition PresetManager.h:132
static void writePresetVersion(ValueTree &state, const String &versionNumber)
Definition PresetManager.cpp:57
static String getReformerVersion(ValueTree &state)
Retrieves the Reformer version from a ValueTree.
Definition PresetManager.cpp:146
static File getFactoryTemplateDirectory()
Definition PresetManager.cpp:179
Definition AirAbsorptionFilter.cpp:2
Definition PresetManager.h:20
String name
Definition PresetManager.h:21
File path
Definition PresetManager.h:22