Fix crash: Add validatePluginFile and lastError to header
Browse files
Source/HostedPluginManager.h
CHANGED
|
@@ -15,6 +15,7 @@ public:
|
|
| 15 |
void unloadPlugin();
|
| 16 |
bool isLoaded() const;
|
| 17 |
juce::String getPluginName() const;
|
|
|
|
| 18 |
|
| 19 |
// Audio processing — called from audio thread
|
| 20 |
void prepareToPlay(double sampleRate, int blockSize);
|
|
@@ -26,7 +27,7 @@ public:
|
|
| 26 |
int index;
|
| 27 |
juce::String id;
|
| 28 |
juce::String name;
|
| 29 |
-
float value;
|
| 30 |
juce::String displayText;
|
| 31 |
bool automatable;
|
| 32 |
};
|
|
@@ -39,10 +40,12 @@ public:
|
|
| 39 |
// Thread safety
|
| 40 |
juce::CriticalSection& getPluginLock() { return pluginLock; }
|
| 41 |
|
| 42 |
-
// File path of currently loaded plugin
|
| 43 |
juce::String getLoadedPluginPath() const;
|
| 44 |
|
| 45 |
private:
|
|
|
|
|
|
|
| 46 |
juce::AudioPluginFormatManager formatManager;
|
| 47 |
std::unique_ptr<juce::AudioPluginInstance> hostedPlugin;
|
| 48 |
juce::CriticalSection pluginLock;
|
|
@@ -50,6 +53,7 @@ private:
|
|
| 50 |
double currentSampleRate = 44100.0;
|
| 51 |
int currentBlockSize = 512;
|
| 52 |
juce::String loadedPluginPath;
|
|
|
|
| 53 |
|
| 54 |
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(HostedPluginManager)
|
| 55 |
};
|
|
|
|
| 15 |
void unloadPlugin();
|
| 16 |
bool isLoaded() const;
|
| 17 |
juce::String getPluginName() const;
|
| 18 |
+
juce::String getLastError() const { return lastError; }
|
| 19 |
|
| 20 |
// Audio processing — called from audio thread
|
| 21 |
void prepareToPlay(double sampleRate, int blockSize);
|
|
|
|
| 27 |
int index;
|
| 28 |
juce::String id;
|
| 29 |
juce::String name;
|
| 30 |
+
float value;
|
| 31 |
juce::String displayText;
|
| 32 |
bool automatable;
|
| 33 |
};
|
|
|
|
| 40 |
// Thread safety
|
| 41 |
juce::CriticalSection& getPluginLock() { return pluginLock; }
|
| 42 |
|
| 43 |
+
// File path of currently loaded plugin
|
| 44 |
juce::String getLoadedPluginPath() const;
|
| 45 |
|
| 46 |
private:
|
| 47 |
+
bool validatePluginFile(const juce::File& pluginFile);
|
| 48 |
+
|
| 49 |
juce::AudioPluginFormatManager formatManager;
|
| 50 |
std::unique_ptr<juce::AudioPluginInstance> hostedPlugin;
|
| 51 |
juce::CriticalSection pluginLock;
|
|
|
|
| 53 |
double currentSampleRate = 44100.0;
|
| 54 |
int currentBlockSize = 512;
|
| 55 |
juce::String loadedPluginPath;
|
| 56 |
+
juce::String lastError;
|
| 57 |
|
| 58 |
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(HostedPluginManager)
|
| 59 |
};
|